Compare commits

..
596 Commits
Author SHA1 Message Date
n1474335 392652ed8e 6.2.0 2017-09-27 15:33:37 +00:00
n1474335 7557e1e9e5 Added Snefru hashing operation 2017-09-27 15:33:14 +00:00
n1474335 d924da2f25 6.1.0 2017-09-22 17:36:03 +00:00
n1474335 be4d1eabaa Merge branch 'feature-hashing' 2017-09-22 17:34:18 +00:00
n1474335 db98e56e72 Reduced extraneous auto bakes 2017-09-22 17:33:46 +00:00
n1474335 e2a35ea844 Updated Whirlpool and HAS-160 operations to work with modules 2017-09-22 17:01:39 +00:00
n1474335 7966b2bde6 Merge branch 'master' into feature-hashing 2017-09-22 16:09:13 +00:00
n1474335 9391b947c6 Merge branch 'master' of github.com:gchq/CyberChef 2017-09-22 16:05:59 +00:00
n1474335 e61e3bcf9b Updated the dev server to work on external interfaces 2017-09-22 16:05:15 +00:00
n1474335 89ca2cc631 6.0.2 2017-09-20 22:26:54 +01:00
n1474335 e2cae035f2 Accessibility checks are now made before trying to access local storage. Fixes #174. 2017-09-20 22:26:47 +01:00
n1474335 d79a0e737a Added HAS-160 and Whirlpool hashing operations 2017-09-20 09:43:14 +00:00
n1474335 c60ec7c170 6.0.1 2017-09-20 01:18:46 +01:00
n1474335 e42b19d324 Removed excess auto-baking 2017-09-20 01:16:15 +01:00
n1474335 3be370aefa 6.0.0 2017-09-20 00:56:32 +01:00
n1474335 b13917fbdc Merge branch 'feature-threading' 2017-09-20 00:55:37 +01:00
n1474335 9028761821 Loading message fade and cancelBake bugfix 2017-09-20 00:48:37 +01:00
n1474335 f6b52b7c82 Operations can now set options from within the worker 2017-09-20 00:37:57 +01:00
n1474335 13f07abb8a Highlighting now works with the web worker 2017-09-19 23:34:03 +01:00
n1474335 8c960f0661 Moved worker handling code from App.js to WorkerWaiter.js 2017-09-17 19:27:02 +01:00
n1474335 77203a4363 Excluded MetaConfig from JSDoc 2017-09-17 14:59:11 +01:00
n1474335 d3246b7c8b Merged upstream master 2017-09-17 14:53:17 +01:00
n1474335 c93edec55b Switched to val-loader and compiling MetaConfig 2017-09-17 13:47:33 +01:00
n1474335 83d258c396 5.20.0 2017-09-14 15:06:11 +00:00
n1474335 81acb5bdab Merge branch 'feature-hashing' 2017-09-14 15:01:29 +00:00
n1474335 0b79019e0f Added test file. 2017-09-14 14:59:28 +00:00
n1474335 be07298741 Added tests for all hashing operations 2017-09-14 14:54:56 +00:00
n1474335 2d779fdcd0 Added SHA2 512/224 and 512/256 variants as well as RIPEMD 128, 160, 256 and 320. 2017-09-14 14:53:46 +00:00
n1474335 35382faf28 Updated all dependencies and set node version to 8.4 to fix docstrap bug in travis builds (until it is fixed) 2017-09-14 10:20:16 +00:00
n1474335 dba0b104ab Added docs to GH Pages 2017-09-13 15:21:31 +00:00
n1474335 174cabdc74 Added 'CRC-16 Checksum' operation 2017-09-12 15:50:46 +00:00
n1474335 3c52a9faab Added Keccak and Shake to 'Generate all hashes' operation 2017-09-12 15:39:48 +00:00
n1474335 73561993a7 Added SHA3, Keccak and Shake hashing algorithms 2017-09-12 15:31:51 +00:00
n1474335 6e875393d9 Merged all SHA-2 operations into one with a size argument 2017-09-12 14:48:56 +00:00
n1474335 bbd85a491b Added MD6 to 'Generate all hashes' operation 2017-09-12 14:23:36 +00:00
n1474335 a736be7ca8 Added MD6 operation. Closes #53 2017-09-12 14:20:05 +00:00
n1474335 f1fe0b944f 5.19.3 2017-09-07 10:01:31 +00:00
n1474335 c1e40dd109 Fixed typo in .travis.yml 2017-09-07 10:01:12 +00:00
n1474335 73823e3eb9 Improved domain name regex 2017-09-06 16:43:30 +00:00
n1474335 bf833991bf 5.19.2 2017-09-06 16:09:36 +00:00
n1474335 615357c977 Corrected travis config logic 2017-09-06 16:06:37 +00:00
n1474335 19f23127b9 Updated travis config to create a new branch when building a tagged release 2017-09-06 16:04:11 +00:00
n1474335 2ea6d9437f 5.19.1 2017-09-06 10:28:41 +00:00
n1474335 833b6d67a6 Updated package-lock.json to fix tagged builds 2017-09-06 10:28:35 +00:00
n1474335 04c1adc5f0 5.19.0 2017-09-05 17:59:16 +00:00
n1474335 8e8f6a0284 Merge branch 'feature-otp' 2017-09-05 17:59:02 +00:00
n1474335 68bf1d123e Added 'Generate HOTP' and 'Generate TOTP' operations 2017-09-05 17:53:54 +00:00
n1474335 2c03689195 5.18.1 2017-09-05 17:26:29 +00:00
n1474335 45f41b1140 Merge branch 'bug-number-input-change' 2017-09-05 17:21:49 +00:00
n1474335 8fa6f3f45c Fixed bug where clicking up and down arrows on numeric inputs would not trigger an auto-bake 2017-09-05 16:51:57 +00:00
n1474335 78a842deb7 5.18.0 2017-09-05 15:37:18 +00:00
n1474335 3657ff4f79 Merge branch 'feature-bitshift' 2017-09-05 15:37:10 +00:00
n1474335 d4d12c3db0 Whitespace is now removed from hex and binary even when the delimiter is set to 'None' 2017-09-05 14:30:06 +00:00
n1474335 1b628ac213 Added 'Bit shift left' and 'Bit shift right' operations 2017-09-05 14:26:09 +00:00
n1474335 5fcc259efb Merge branch 'Synchro-master' 2017-09-04 15:22:17 +00:00
Marcus Bointon 9545205f19 Optimise PNGs 2017-09-04 12:22:12 +02:00
n1474335 cb6708c02e XOR Brute Force operation now has a variable key length 2017-08-31 00:24:24 +01:00
n1474335 4f403d4450 5.17.0 2017-08-30 15:57:58 +00:00
n1474335 f2d8f930fb Merge branch 'bwhitn-vbe' 2017-08-30 15:57:18 +00:00
n1474335 4a86340d50 Tidied up 'Microsoft Script Decoder' operation 2017-08-30 15:56:51 +00:00
bwhitn f8e9e9ba85 added sample to description 2017-08-29 12:04:15 -07:00
bwhitn 934ed1af09 Fixed spelling errors, syntax errors, and improved the test for script decoding 2017-08-29 10:46:34 -07:00
bwhitn 0fc2a219a7 Changed the name. Small logic change. Changed from split join to regex replace. 2017-08-28 17:55:54 -04:00
bwhitn aa5939c051 Took out logging call. My bad. 2017-08-27 20:53:53 -04:00
bwhitn 9c5f06101e Fixed the replace statements 2017-08-27 18:45:42 -04:00
bwhitn 2a7c0252a0 Fixed regex issue 2017-08-27 11:49:28 -04:00
bwhitn 414726ecd4 Fixed small syntax error 2017-08-27 09:44:26 -04:00
bwhitn fdc8a15595 Added Decode VBE 2017-08-27 09:29:26 -04:00
n1474335 d012fd3a65 5.16.3 2017-08-25 11:53:08 +00:00
n1474335 a5ed824674 Merge branch 'bug-substitute' 2017-08-25 11:50:07 +00:00
n1474335 d6705c682f Fixed bug in Substitute where commas would not encode correctly 2017-08-25 11:44:31 +00:00
n1474335 d68523a54e Added status message mechanism for the Worker to report to the app 2017-08-25 01:24:12 +01:00
n1474335 6af82680f1 Fixed tests and Node version to work with modules 2017-08-25 00:44:22 +01:00
n1474335 a4aee761c2 Added module and threading support for the inline version. 2017-08-25 00:25:49 +01:00
n1474335 33b606d48f 5.16.2 2017-08-21 15:25:41 +00:00
n1474335 cc44be7ef9 Fixed recipe saving 2017-08-21 15:25:35 +00:00
n1474335 e0eb972a54 Operations with no arguments can now be added to the recipe without causing errors 2017-08-18 16:12:49 +00:00
n1474335 19c54a99cd Improved web app title construction 2017-08-18 16:01:55 +00:00
n1474335 9d60ec22ee Updated links in index.html 2017-08-18 15:55:04 +01:00
n1474335 cb4eeccfd3 Updated links in README 2017-08-18 15:47:38 +01:00
n1474335 62e50caa99 5.16.1 2017-08-16 14:11:55 +00:00
n1474335 0192566d19 Improved recipe config generation for complex objects. Fixes #180 2017-08-16 14:11:50 +00:00
n1474335 8a8b70f2ab 5.16.0 2017-08-16 13:01:50 +00:00
n1474335 af311001cf Merge branch 'feature-pretty-recipe-format' 2017-08-16 13:01:08 +00:00
n1474335 040229418e 5.15.0 2017-08-15 17:32:31 +00:00
n1474335 c259963542 Fixed string escape test configs 2017-08-15 17:32:21 +00:00
n1474335 ca75f7fa0b Merge branch 'artemisbot-features/string_escape_unescape' 2017-08-15 17:30:12 +00:00
n1474335 4b22a409e7 Tidied up string escape operations 2017-08-15 17:29:48 +00:00
n1474335 55806db00f Merge branch 'features/string_escape_unescape' of https://github.com/artemisbot/CyberChef into artemisbot-features/string_escape_unescape 2017-08-15 17:16:39 +00:00
n1474335 83c757ebd4 Lint 2017-08-15 17:12:09 +00:00
n1474335 a19b02aa8c Updated URL regexes to match more unescaped special characters 2017-08-15 16:44:45 +00:00
n1474335 cf1ba60a10 Added new 'pretty' recipe format to make URLs more readable 2017-08-15 16:26:42 +00:00
n1474335 2a4c9afdf2 5.14.0 2017-08-10 12:42:00 +00:00
n1474335 ab76933158 Merge branch 'feature-themes' 2017-08-10 12:41:18 +00:00
n1474335 d4d7bcab7a Added GeoCities theme 2017-08-10 12:35:30 +00:00
n1474335 a61cf6a68a Added module framework 2017-08-09 20:09:23 +01:00
n1474335 146a307b59 5.13.1 2017-08-08 14:47:55 +00:00
n1474335 875946b4e8 Modified babel to target Node 6.5 2017-08-08 14:47:48 +00:00
n1474335 81f2a460ed Added apploaded event to signify when the app has completed loading 2017-08-08 13:08:06 +00:00
Matt C 6698a2ac13 Added tests + fixes for PR
- actually removed prev func
- shuffled some stuff around
2017-08-07 16:08:50 +01:00
Matt C 9161cc693d Removes need for runParseEscapedString
- Fixes examples
- Actually makes it work
2017-08-04 15:54:00 +01:00
n1474335 be689e293d Removed dev commands from PublicKey.js 2017-08-04 14:44:12 +00:00
n1474335 53c22d5e29 5.13.0 2017-08-04 14:00:24 +00:00
n1474335 5c0c80829e Merge branch 'artemisbot-features/jpath' 2017-08-04 14:00:05 +00:00
n1474335 55aedfe901 Jsonpath lib now imported from npm with workaround instead of serving locally. 2017-08-04 13:59:32 +00:00
n1474335 4b87d66131 Merge branch 'features/jpath' of https://github.com/artemisbot/CyberChef into artemisbot-features/jpath 2017-08-04 13:36:03 +00:00
n1474335 fc9497f067 Updated dependencies 2017-08-04 13:35:52 +00:00
Matt C 3186335f47 Merge Vel0z/string_escaping_unescaping
Updated to new project format
2017-08-04 11:50:45 +01:00
Matt C 31bfd8664a Added JSONPath tests & changed lib 2017-08-03 14:50:16 +01:00
n1474335 ab1c9e27dc Added more loading messages 2017-08-03 10:57:54 +00:00
n1474335 c07cc913c8 5.12.4 2017-08-01 19:27:24 +00:00
n1474335 b8fb5493c5 Merge branch 'artemisbot-bug/text-overflow' 2017-08-01 19:25:04 +00:00
n1474335 e8e5eb9c53 Fixed some edge cases for popover triggering 2017-08-01 19:23:30 +00:00
n1474335 a15034b03e Merge branch 'bug/text-overflow' of https://github.com/artemisbot/CyberChef into artemisbot-bug/text-overflow 2017-08-01 15:40:31 +00:00
n1474335 1435acdc28 5.12.3 2017-08-01 14:42:52 +00:00
n1474335 37f164f11c Merge branch 'master' of github.com:gchq/CyberChef 2017-08-01 14:42:17 +00:00
n1474335 7a2f071269 Dependencies in the node version are now kept external in the webpack build 2017-08-01 14:42:09 +00:00
n1474335 9f19afc943 Removed auto-bake threshold as long bakes can now be cancelled manually 2017-07-30 12:51:21 +01:00
n1474335 6742bef289 Separated out Diff and Windows Filetime operations into their own namespaces as they rely on libraries not used by the rest of the operations in their group 2017-07-30 12:36:50 +01:00
Matt C 9ee0964d0e Fixed hover issue - now allows scrolling 2017-07-29 00:45:41 +01:00
Matt C 33ecbfa95b Fixed arrow issue 2017-07-28 21:47:47 +01:00
n1474335 e977a1006c Merge branch 'master' into feature-threading 2017-07-28 16:55:07 +01:00
n1474335 559c13a003 5.12.2 2017-07-28 16:44:48 +01:00
n1474335 8f00345430 Merge branch 'seo-structured-data' 2017-07-28 16:44:28 +01:00
n1474335 f1ebab0c2d Added the ability to cancel bakes 2017-07-28 16:38:53 +01:00
n1474335 98884d851a Added staleness indicator to the output 2017-07-28 15:43:23 +01:00
n1474335 78d0369e71 Added loader for long bakes and improved initial loading sequence 2017-07-28 14:43:44 +01:00
n1474335 7a56af8ffa Page title changes to reflect recipe 2017-07-27 15:33:24 +00:00
n1474335 ed2bfbd27c Added structured data to help search engines 2017-07-27 15:33:01 +00:00
Matt C e0905255ba Forgot about package-lock.json
oops
2017-07-25 16:36:01 +01:00
Matt C de80db73f2 Adds initial JPath functionality 2017-07-25 16:27:59 +01:00
Matt C 90ed62add2 Fixes gchq/CyberChef#137
Changes data-trigger to focus so scrolling works and sets max height.
2017-07-25 11:49:23 +01:00
n1474335 d46e279933 Added link to 'Last build' notice showing commits since last release 2017-07-24 16:38:38 +00:00
n1474335 77e074efc2 5.12.1 2017-07-24 15:27:14 +00:00
n1474335 bd000d2d2c Merge branch 'lib-update' 2017-07-24 15:26:12 +00:00
n1474335 5f1c88104d Introduced key-spacing eslint rule 2017-07-24 14:55:48 +00:00
n1474335 a61df0832f Updated dependencies and linted 2017-07-24 13:49:16 +00:00
n1474335 58361e58f8 5.12.0 2017-07-19 16:03:24 +00:00
n1474335 96b4361b31 Merge branch 'feature-bcd' 2017-07-19 15:55:36 +00:00
n1474335 c773edceb9 Added BCD operations with tests 2017-07-19 15:29:37 +00:00
n1474335 bcaef8ba54 5.11.7 2017-07-18 16:17:59 +00:00
n1474335 c7d0b0ccc5 Merge branch 'feature-xor-brute-scheme' 2017-07-18 16:17:13 +00:00
n1474335 38792a0f02 Added differential schemes to 'XOR Brute Force' operation 2017-07-18 16:09:22 +00:00
n1474335 cda557e1b9 Removed sessionStorage as it is no longer used and marginally affects performance 2017-07-18 14:28:51 +00:00
n1474335 8d09f7c7eb 5.11.6 2017-07-17 13:31:37 +00:00
n1474335 4845a56435 Fixed Diff test for new higlighting class 2017-07-17 13:31:28 +00:00
n1474335 f164dcdd70 Fixed Diff highlighting classes 2017-07-17 13:19:08 +00:00
n1474335 cc3aad17e1 OperationConfig now loaded into App via value-loader so that operation code is only included in the worker 2017-07-16 23:33:47 +01:00
n1474335 6c8da6b070 Added ellipsis to overflowing args 2017-07-13 15:11:21 +00:00
n1474335 09df753ca9 5.11.5 2017-07-12 14:34:50 +00:00
n1474335 72ec9df1b1 Fixed option naming conventions 2017-07-12 14:34:45 +00:00
n1474335 086d5272ac 5.11.4 2017-07-12 12:49:22 +00:00
n1474335 2555de7712 Fixed bug in firefox where recipes containing an = character would not load from the URL 2017-07-12 12:49:10 +00:00
n1474335 645e540c66 5.11.3 2017-07-10 11:49:48 +00:00
n1474335 d16e1a4451 Fixed bug in 'Show Base64 offsets' where highlights did not show 2017-07-10 11:49:41 +00:00
n1474335 7c5dd2bd78 5.11.2 2017-07-07 13:30:27 +00:00
n1474335 2f0121f0e4 Merge branch 'bwhitn-unzipmod' 2017-07-07 13:28:21 +00:00
n1474335 7e310a8de7 Moved file switch listener to correct block 2017-07-07 13:27:47 +00:00
n1474335 c460c2bf6b Replaced hexToByteArray with fromHex and byteArrayToHex with toHex. Switched displayFilesAsHTML operation to use template strings and introduced markup formatting method. 2017-07-07 13:23:58 +00:00
n1474335 760ab688b2 Create ChefWorker and move bake process into it 2017-07-05 00:14:47 +01:00
n1474335 ff78c72d54 Configured webpack-dev-server 2017-07-03 23:15:57 +01:00
n1474335 2400de337b Merge branch 'unzipmod' of https://github.com/bwhitn/CyberChef into bwhitn-unzipmod 2017-07-03 15:28:12 +00:00
n1474335 85d41085de 5.11.1 2017-07-03 15:25:52 +00:00
n1474335 48d45d026e Merge branch 'bwhitn-filetimemod' 2017-07-03 15:25:39 +00:00
n1474335 183c57643b Tidied up changes to filetime operations and brought tests up to date 2017-07-03 15:25:14 +00:00
n1474335 e7cea889ab Merge branch 'filetimemod' of https://github.com/bwhitn/CyberChef into bwhitn-filetimemod 2017-07-03 15:19:42 +00:00
n1474335 61c799447b Improved banner CSS 2017-07-03 15:18:47 +00:00
bwhitn ad25daf206 Allow hex and decimal format for Windows Filetime format as those are the formats they are typically represented in 2017-07-02 20:04:25 -04:00
bwhitn 4143bba89f This adds the ability to move the file data from Utils.displayFilesAsHTML to the input. 2017-07-01 00:40:22 -04:00
n1474335 8eb7d65b74 5.11.0 2017-06-28 19:56:07 +01:00
n1474335 51798553e1 Merge branch 'artemisbot-features/bifid' 2017-06-28 19:55:19 +01:00
n1474335 323928ff86 Tidied up Bifid operations 2017-06-28 19:54:34 +01:00
n1474335 fe3aeabd0a Merge branch 'features/bifid' of https://github.com/artemisbot/CyberChef into artemisbot-features/bifid 2017-06-28 19:27:42 +01:00
n1474335 ec7a55dba6 5.10.7 2017-06-27 14:13:30 +00:00
n1474335 b4fe708d70 Merge branch 'bug-display-as-html' 2017-06-27 14:13:24 +00:00
n1474335 c3469bd545 Correctly escape filenames in displayFilesAsHTML 2017-06-27 14:04:30 +00:00
n1474335 92018b761d 5.10.6 2017-06-26 21:54:15 +01:00
n1474335 bb45ff0515 Merge branch 'bug-preloader' 2017-06-26 21:53:21 +01:00
n1474335 df1405e998 Fixed mildly infuriating bug where the preloader rings overlap 2017-06-26 21:47:57 +01:00
n1474335 62ec018bb2 Update README.md 2017-06-26 16:35:51 +01:00
n1474335 14b7c4bf23 Improved support for different alphabets in 'Substitute' operation 2017-06-23 13:21:19 +00:00
n1474335 5c774a3ce2 Updated to allow delimiter to be set 2017-06-23 12:18:08 +00:00
Matt C 246480daef Fixed styling errors 2017-06-22 17:13:31 +01:00
Matt C 91c6f682e7 Added Bifid Cipher Encode & Decode
Bifid Cipher + Tests
2017-06-21 22:28:17 +01:00
n1474335 a417a6469c Added package-lock.json 2017-06-20 14:45:20 +00:00
n1474335 2821bdd52b 5.10.5 2017-06-19 16:50:07 +00:00
n1474335 d37300be39 Merge branch 'bug-astral' 2017-06-19 16:49:17 +00:00
n1474335 15b83072bb Added support for astral characters to charcode ops 2017-06-19 15:40:36 +00:00
n1474335 6d2e2259db 5.10.4 2017-06-16 15:44:42 +00:00
n1474335 5b70614212 Merge branch 'tidy-links' 2017-06-16 15:38:37 +00:00
n1474335 4363da534d Updated links to new hash variant and cleaned up About and Option panes 2017-06-16 15:36:42 +00:00
n1474335 685f7a4f00 Create CODE_OF_CONDUCT.md 2017-06-16 15:32:55 +01:00
n1474335 6e26f25418 5.10.3 2017-06-16 11:26:03 +00:00
n1474335 d8051ce9a2 Merge branch 'feature-hashurls' 2017-06-16 11:23:16 +00:00
n1474335 00e7d8a390 The recipe and input are now stored in the hash part of the URL 2017-06-16 11:04:35 +00:00
bwhitn 213ec028b8 Merge pull request #2 from gchq/master
Current
2017-06-15 19:43:22 -04:00
n1474335 61951e76ac 5.10.2 2017-06-15 14:25:03 +00:00
n1474335 47cf763b3f Merge branch 'bug-findreplace' 2017-06-15 14:23:35 +00:00
n1474335 04aac03d6e Fixed global matching for simple strings in 'Find / Replace' operation. Closes #25. 2017-06-15 14:21:30 +00:00
n1474335 3faef2c9c9 5.10.1 2017-06-13 16:31:00 +00:00
n1474335 eda17d1671 Added mixed content note to 'HTTP request' error message. 2017-06-13 16:30:55 +00:00
n1474335 fbd6ead6b7 5.10.0 2017-06-13 15:34:36 +00:00
n1474335 bf2950abdd Merge branch 'bwhitn-master' 2017-06-13 15:33:59 +00:00
n1474335 3eacc325a3 Improved descriptions for timestamp operations. 2017-06-13 15:33:37 +00:00
n1474335 15decd9cd9 Merge branch 'master' of https://github.com/bwhitn/CyberChef into bwhitn-master 2017-06-13 14:12:20 +00:00
Bwhit1 c0142adba9 changed error to conform with the rest of the functions and simplified repetative math. 2017-06-12 15:39:54 -04:00
bwhitn ec01333c83 removed decimal.min.js 2017-06-12 05:48:22 -07:00
bwhitn 8110384ea2 Fixed the names under the DateTime Category 2017-06-12 05:33:24 -07:00
bwhitn 0c2c0d7b8b Added DateTime test, added filetime functions to Catagories, and removed unused variables. 2017-06-12 05:28:41 -07:00
Bwhit1 ae38bb0927 Completion of simple filetime conversion 2017-06-11 20:05:30 -04:00
Bwhit1 003e076b00 modifications to FILETIME 2017-06-10 23:42:02 -04:00
n1474335 2c2a0eb7d9 5.9.2 2017-06-09 15:36:53 +00:00
n1474335 e7f5b17184 Manual bake now triggers when recipes are loaded from the URL. Fixes #93. 2017-06-09 15:36:15 +00:00
n1474335 69e12b1067 5.9.1 2017-06-09 15:21:45 +00:00
n1474335 fef446687a Loading messages won't repeat as often and cycle more slowly 2017-06-09 15:21:39 +00:00
n1474335 3affce8f98 5.9.0 2017-06-09 14:54:27 +00:00
n1474335 0b91468edc Merge branch 'tlwr-feature-http-request' 2017-06-09 14:53:39 +00:00
n1474335 127364e8a4 Added error handling for non-CORS requests. 2017-06-09 14:53:15 +00:00
bwhitn a144f65dcf Create DateTime.js 2017-06-08 08:28:21 -07:00
bwhitn 96ec3a869b Use decimal.min.js and add the file. 2017-06-08 08:19:26 -07:00
n1474335 52426bc1a4 Merge branch 'master' into feature-http-request 2017-06-08 16:08:20 +01:00
n1474335 cbab995c6d Added error handling and CORS support 2017-06-08 15:03:55 +00:00
bwhitn d27fa43120 Add conversions for from/to Windows Filetime to UNIX Epoch. Decimal.js is used to prevent rounding errors during conversion. 2017-06-08 07:23:11 -07:00
n1474335 45a9da5b30 5.8.0 2017-06-08 11:10:35 +00:00
n1474335 aed22aebb2 Merge branch 'davejm-feature-remove-exif' 2017-06-08 11:09:53 +00:00
n1474335 369d213da5 Tidying 'Remove EXIF' 2017-06-08 11:09:31 +00:00
n1474335 e92775eec2 Merge branch 'feature-remove-exif' of https://github.com/davejm/CyberChef into davejm-feature-remove-exif 2017-06-08 10:56:06 +00:00
bwhitn 2c0f48f4e5 Merge pull request #1 from gchq/master
update
2017-06-07 23:55:41 -04:00
toby a5f1c430a3 Add "HTTP request" operation 2017-06-07 22:46:05 -04:00
David Moodie e4a91b5397 Use functions from utils 2017-06-07 21:41:02 +01:00
David Moodie cbcd45cd70 Do nothing if input is empty for removeEXIF operation 2017-06-07 20:01:45 +01:00
David Moodie 0968912954 Only reference JPEGs in removeEXIF description to be more clear 2017-06-07 19:51:09 +01:00
David Moodie 3bfe22c0f7 Remove piexifjs dep and extract removeEXIF to lib module 2017-06-07 19:49:44 +01:00
David Moodie 6cf64d794f Change == to === 2017-06-04 17:23:53 +01:00
David Moodie 6741ba0783 Add remove EXIF operation 2017-06-04 17:08:39 +01:00
n1474335 f1e7bc3363 5.7.3 2017-06-01 10:24:38 +00:00
n1474335 2dbe2d044e Merge branch 'qistoph-numsort' 2017-06-01 10:23:49 +00:00
n1474335 ea3630e018 Tidied _numericSort and added @author tag 2017-06-01 10:21:10 +00:00
Chris van Marle c6391d958d Add numeric sorting tests 2017-05-30 08:53:18 +02:00
Chris van Marle 71aa4033a4 Add numeric sorting 2017-05-29 15:24:41 +02:00
n1474335 57dcd961d5 Option selects now default to the first option if not previously set 2017-05-24 10:29:47 +01:00
n1474335 83878d6b05 Update ControlsWaiter.js 2017-05-23 16:53:37 +01:00
n1474335 9055fc72d2 Added Boostrap grid CSS 2017-05-23 13:09:55 +01:00
n1474335 fb4ab56b47 Merge pull request #141 from tlwr/master
Add repo option to Travis
2017-05-21 19:36:12 +01:00
toby 51e195ed17 Add repo option to Travis 2017-05-20 23:56:58 -04:00
n1474335 9947c574d2 5.7.2 2017-05-20 13:49:29 +01:00
n1474335 693abdacf6 Merge branch 'tlwr-master' 2017-05-20 13:49:17 +01:00
toby dd3b42fb53 Fix bug with UTF16LE in Encode/Decode ops 2017-05-19 16:11:08 -04:00
n1474335 8e72d7d0d6 5.7.1 2017-05-19 16:28:43 +00:00
n1474335 a6317212d9 Merge branch 'feature-loading-messages' 2017-05-19 16:25:30 +00:00
n1474335 347adf688a Added loading messages to preloader 2017-05-19 16:23:52 +00:00
n1474335 3ee67927a5 Moved bootstrap from devDependencies to dependencies and removed bootstrap-sass. 2017-05-19 14:17:34 +00:00
n1474335 7ecd36efcf Cleaned up extraneous character encoding functions in Utils.js 2017-05-19 14:05:57 +00:00
n1474335 714ce8a8a3 5.7.0 2017-05-19 13:45:30 +00:00
n1474335 7b18a2f46f Merge branch 'tlwr-feature-ebcdic' 2017-05-19 13:44:18 +00:00
n1474335 19103a64e5 Tidied up character encoding names 2017-05-19 13:43:55 +00:00
n1474335 a13f1d27e2 Merge branch 'feature-ebcdic' of https://github.com/tlwr/CyberChef into tlwr-feature-ebcdic 2017-05-19 13:16:54 +00:00
n1474335 9a6e4b1e85 5.6.0 2017-05-19 13:12:04 +00:00
n1474335 67b78fc230 Merge branch 'feature-render-images' 2017-05-19 13:11:12 +00:00
n1474335 5e79187176 Added ico and removed tiff from supported image types 2017-05-19 12:58:42 +00:00
n1474335 491a82cd67 Added 'Render Image' operation 2017-05-19 11:15:48 +00:00
n1474335 87c2ec678f 5.5.0 2017-05-19 00:22:50 +01:00
n1474335 70135ab3ea Really fix compile message formatting 2017-05-19 00:22:41 +01:00
n1474335 ad18d84f14 Fix option defaults and compile message formatting 2017-05-19 00:10:36 +01:00
n1474335 77e47e3fa4 Merge branch 'feature-sass' 2017-05-18 23:51:29 +01:00
n1474335 04432385b3 Merge branch 'master' into feature-sass 2017-05-18 23:50:43 +01:00
n1474335 cbdc24d869 Travis CI now adds a compile message 2017-05-18 23:46:03 +01:00
n1474335 2b3e471f96 Added version number to About/Support pane 2017-05-18 23:40:53 +01:00
n1474335 488d54493a Added modern browser warning for theme support 2017-05-18 23:29:04 +01:00
n1474335 a418f63a44 Added postcss-loader to provide fallbacks for older browsers 2017-05-18 23:24:24 +01:00
toby 0e285151f3 Add codepage numbers to CharEnc IO_FORMAT 2017-05-17 18:22:04 -04:00
n1474335 e4ad7768d5 Finalised the dark theme 2017-05-17 23:02:52 +01:00
toby f800fab1a3 Add author tags to Encode text & Decode text ops 2017-05-17 17:31:28 -04:00
toby dc61aeeeb8 Improve format of en/decoding text descriptions 2017-05-17 17:18:08 -04:00
toby 4b1d0fd011 Merge branch 'feature-ebcdic' of github.com:tlwr/CyberChef into feature-ebcdic 2017-05-17 11:30:20 -04:00
toby 2b7ba594fc Split "Text encoding" op into two ops
This commit splits "Text encoding" into two operations:
+ Encode text `string -> byteArray`
+ Decode text `byteArray -> string`

Base64 and Hex support are removed "Encode text" and "Decode text" as
they have their own operations.

Encode and decode operations now have support for the following
encodings:
+ IBM EBCDIC US-Canada
+ IBM EBCDIC International
+ Windows-874 Thai
+ Japanese Shift-JIS
+ Simplified Chinese GBK
+ Korean
+ Traditional Chinese Big5
+ UTF-16, little endian
+ UTF-16, big endian
+ Windows-1250 Central European
+ Windows-1251 Cyrillic
+ Windows-1252 Latin
+ Windows-1253 Greek
+ Windows-1254 Turkish
+ Windows-1255 Hebrew
+ Windows-1256 Arabic
+ Windows-1257 Baltic
+ Windows-1258 Vietnam
+ US-ASCII
+ Russian Cyrillic KOI8-R
+ Simplified Chinese GB2312
+ KOI8-U Ukrainian Cyrillic
+ ISO-8859-1 Latin 1 (Western European)
+ ISO-8859-2 Latin 2 (Central European)
+ ISO-8859-3 Latin 3
+ ISO-8859-4 Baltic
+ ISO-8859-5 Cyrillic
+ ISO-8859-6 Arabic
+ ISO-8859-7 Greek
+ ISO-8859-8 Hebrew
+ ISO-8859-9 Turkish
+ ISO-8859-10 Latin 6
+ ISO-8859-11 Latin (Thai)
+ ISO-8859-13 Latin 7 (Estonian)
+ ISO-8859-14 Latin 8 (Celtic)
+ ISO-8859-15 Latin 9
+ ISO-8859-16 Latin 10
+ ISO-2022 JIS Japanese
+ EUC Japanese
+ EUC Korean
+ Simplified Chinese GB18030
+ UTF-7
+ UTF-8
2017-05-17 11:17:11 -04:00
n1474335 d87b14af13 5.4.1 2017-05-17 14:45:19 +00:00
n1474335 83623d23cf Merge branch 'bug-timestamp' 2017-05-17 14:45:10 +00:00
n1474335 07fba53b73 'To UNIX Timestamp' operation now defaults to UTC instead of your local timezone. 2017-05-17 14:37:36 +00:00
n1474335 823b276ef5 Changed bootstrap-sass back to bootstrap (with less). Theme now loads before the preloader is shown. 2017-05-13 16:45:19 +01:00
n1474335 0e72d78731 5.4.0 2017-05-13 16:10:26 +01:00
n1474335 768609e357 Whitespace 2017-05-13 16:09:32 +01:00
n1474335 526a157421 Merge branch 'tlwr-feature-exif' 2017-05-13 16:08:39 +01:00
n1474335 62154309fb Newlines 2017-05-13 16:08:14 +01:00
n1474335 ad74e6c475 Merge branch 'feature-exif' of https://github.com/tlwr/CyberChef into tlwr-feature-exif 2017-05-13 15:59:48 +01:00
toby 82d28242cc Add JSDoc to the runEXIF function in Image.js 2017-05-09 15:34:18 -04:00
toby 60fddf837d Change let to const in "Extract EXIF" 2017-05-08 12:49:13 -04:00
toby ee25df0c28 Add desc and fix error message for "Extract EXIF" 2017-05-08 12:48:43 -04:00
toby 478af40359 Fix "Extract EXIF" tests 2017-05-08 12:45:42 -04:00
Toby Lorne 6bf06a9629 Merge branch 'master' into feature-ebcdic 2017-05-07 18:21:30 -04:00
toby 3c15bd9e29 Add "{To,From} EBCDIC" operations
This adds operations
+ "To EBCDIC"
+ "From EBCDIC"

This makes use of the npm codepage package but it is not installed as a
dependency.

Instead I used the `make.sh` script to export pages 37 and 500.

To my knowledge there is no way currently to only import individual code pages
from the npm package (hence the included script).

If we were to import the package directly it increases the build size by
2.7MB.
2017-05-07 18:07:56 -04:00
toby 71796e3dbf Merge remote-tracking branch 'upstream/master' into feature-exif 2017-05-06 23:38:04 -04:00
n1474335 280f1ee2df Dark theme tweaks and improvements 2017-05-07 01:13:47 +01:00
n1474335 0dc72d8301 Merged master 2017-05-06 16:22:25 +01:00
n1474335 c43b67ea90 5.3.5 2017-05-06 16:15:29 +01:00
n1474335 244421b69e Merge branch 'graingert-prefer-const' 2017-05-06 16:14:58 +01:00
n1474335 1adedff61a Filter out source-map warnings in webpack output 2017-05-06 16:14:30 +01:00
n1474335 6abd10f9e2 Tidying codebase 2017-05-06 16:12:09 +01:00
n1474335 a85096ea11 5.3.4 2017-05-06 15:00:46 +01:00
n1474335 f67157f0ad Fixed erroring dependency 2017-05-06 15:00:28 +01:00
n1474335 5efe9bd91d Merge branch 'prefer-const' of https://github.com/graingert/CyberChef into graingert-prefer-const 2017-05-06 14:11:38 +01:00
n1474335 dc7a7267c9 5.3.4 2017-05-06 14:00:41 +01:00
n1474335 17188b1e38 Merge branch 'tlwr-feature-async-ops-small' 2017-05-06 14:00:08 +01:00
n1474335 e9c3bebfff Fixed lint error 2017-05-06 13:59:33 +01:00
n1474335 03fc22d3da Merge conflicts 2017-05-06 13:47:26 +01:00
n1474335 5d52c49c31 5.3.3 2017-05-05 16:04:22 +00:00
n1474335 d53da4cfb5 Merge branch 'bug-x509-sig' 2017-05-05 16:03:40 +00:00
n1474335 76204f5f47 Fixed lint errors 2017-05-05 16:03:25 +00:00
n1474335 b68adbd9a8 Merge branch 'master' into bug-x509-sig 2017-05-05 16:02:12 +00:00
n1474335 951b168f3a 5.3.2 2017-05-05 16:00:40 +00:00
n1474335 53d89af459 Merge branch 'feature-key-derivation-hashers' 2017-05-05 15:58:00 +00:00
n1474335 4f844ea837 Merge branch 'master' into feature-key-derivation-hashers 2017-05-05 15:57:42 +00:00
n1474335 59a36e77bd 5.3.1 2017-05-05 15:55:58 +00:00
n1474335 61d8d4473c Merge branch 'graingert-use-array-fill' 2017-05-05 15:55:46 +00:00
n1474335 508a371175 Fixed offset checker array initialisation 2017-05-05 15:54:59 +00:00
n1474335 b010fd88e8 Fix X.509 signature breakout bug 2017-05-05 15:42:24 +00:00
n1474335 66a93b81c6 Added hasher argument to PBKDF2 and EVPKDF operations. 2017-05-05 15:38:38 +00:00
toby 274e1139fa Remove debounce from Utils 2017-05-03 10:43:30 -04:00
toby 6122e33f4f Removed debounced autobake & stop disabling input 2017-05-03 10:35:15 -04:00
Thomas Grainger b365ce3195 fix the first 100 prefer-const errors 2017-05-03 00:41:01 +01:00
Thomas Grainger 0a3233d289 move spider images to .json file 2017-05-03 00:41:01 +01:00
Thomas Grainger 15aea9e9ea auto-fix prefer-const 2017-05-03 00:41:01 +01:00
Thomas Grainger 5b03a84be8 use .fill to initialise Arrays 2017-05-02 23:05:04 +01:00
n1474335 80cdf0c014 Merge conflict 2017-05-02 23:03:28 +01:00
n1474335 d41d56e670 5.3.0 2017-05-02 22:54:56 +01:00
n1474335 7e4e1f1a0d Merge branch 'graingert-no-var-rule' 2017-05-02 22:54:41 +01:00
n1474335 463b06f508 Consistency modifications 2017-05-02 22:53:57 +01:00
n1474335 d3377d56b4 Merge branch 'no-var-rule' of https://github.com/graingert/CyberChef into graingert-no-var-rule 2017-05-02 22:28:17 +01:00
n1474335 c7611fbc05 Merge pull request #123 from gchq/feature-comment
Feature: 'Comment' operation
2017-05-02 21:05:58 +01:00
n1474335 67ee218f69 Merge pull request #124 from tlwr/feature-camel-snake-case
Add operations "To {Snake,Camel,Kebab} case"
2017-05-02 21:04:49 +01:00
n1474335 d1d394eec7 Fix search-results layout bug. 2017-05-02 20:56:57 +01:00
toby 98bc68c2bf Update descriptions to explain context awareness 2017-05-02 12:17:43 -04:00
toby 116c0680a2 Make camel,etc smart and add tests 2017-05-02 11:51:33 -04:00
toby 1b8a25ec88 Add "Extract EXIF" operation 2017-04-29 16:06:16 -04:00
toby d5def01a9d Add operations To {Snake,Camel,Kebab} case 2017-04-29 13:42:07 -04:00
Thomas Grainger ee07b72415 move eslintrc up a directory 2017-04-28 16:53:38 +01:00
Thomas Grainger f7547db272 ignore vendor 2017-04-28 16:50:12 +01:00
Thomas Grainger 5d271687ec fix vars in Gruntfile 2017-04-28 16:50:12 +01:00
Thomas Grainger d05543db30 manual fixes 2017-04-28 16:45:02 +01:00
Thomas Grainger b33f73ac9a autofix no-var 2017-04-28 16:45:00 +01:00
n1474335 31e5d785fe Added badges for npm version and repo size to the README 2017-04-28 13:28:31 +01:00
n1474335 8096fd20a7 Fixed lint errors 2017-04-27 13:12:45 +00:00
n1474335 addd45ae8e Added 'Comment' operation for annotating the recipe 2017-04-27 13:05:29 +00:00
n1474335 d6895537ac Added more keywords and bug link to package.json 2017-04-27 10:43:11 +00:00
n1474335 4ac40fee5e 5.2.4 2017-04-27 10:24:43 +00:00
n1474335 05b8d0b45c Added Travis deployment for npm. 2017-04-27 10:23:01 +00:00
n1474335 446f539803 5.2.3 2017-04-27 09:14:35 +00:00
n1474335 6ef2e46aa3 Merge branch 'bug-popover' 2017-04-27 09:14:11 +00:00
n1474335 e4c5c4a901 Fixed bug where popovers on operations stopped working after the operation was dragged into the recipe. 2017-04-27 09:10:18 +00:00
n1474335 be231f3a91 5.2.2 2017-04-26 11:05:50 +00:00
n1474335 39f36c9184 Removed excess auto-baking when an operation is added to the recipe. Fixes #120. 2017-04-26 11:05:44 +00:00
n1474335 2e4076bb75 Added option to change the theme. 2017-04-25 00:21:38 +01:00
n1474335 d71ac2e894 Moved from Sass to CSS with custom properties, allowing for dynamic theme changes. 2017-04-24 23:59:35 +01:00
n1474335 7e7da26f29 5.2.1 2017-04-24 11:54:05 +00:00
n1474335 4375a151dd BUGFIX #119: Recipe names are now correctly escaped. 2017-04-24 11:53:55 +00:00
n1474335 0f02fb5d05 5.2.0 2017-04-23 18:53:55 +01:00
n1474335 05edc1f9c4 Merge branch 'tlwr-feature-select-lines-op' 2017-04-23 18:53:21 +01:00
toby 50784f2600 Debounce autobake in the web app.
Added debounce with guidance from the underscore.js implementation:
https://github.com/jashkenas/underscore/blob/e944e0275abb3e1f366417ba8facb5754a7ad273/underscore.js#L880
2017-04-23 13:41:28 -04:00
n1474335 2c0f0d9a20 Changed Head and Tail tests to match new 'AllBut' configuration. 2017-04-23 18:29:54 +01:00
toby 21c0fed833 Fix bug: baking error did not reset baking status 2017-04-23 13:14:59 -04:00
n1474335 d081ff745d Added Head and Tail to Utils category and replaced 'AllBut' argument functionality with support for negative values of n. 2017-04-23 18:05:00 +01:00
n1474335 e3f41fea9c Developing a dark theme. 2017-04-23 17:09:12 +01:00
toby dea214bd2e Add Head and Tail operations 2017-04-21 23:10:34 -04:00
toby a13e2468db Added UI loading indications to the HTML app 2017-04-21 20:04:12 -04:00
toby 3fb660d816 Add jsdoc-babel plugin
This is to stop jsdoc parsing errors.

More information in this thread:
https://github.com/jsdoc3/jsdoc/issues/555
2017-04-21 18:05:30 -04:00
toby 9f60dc3dd6 Change ecmaVersion to 8 to make eslint happy 2017-04-21 17:56:16 -04:00
toby 02f855ff09 Add more tests for flow control ops 2017-04-21 17:49:10 -04:00
toby c39622ed1e Add support for async ops using async/await 2017-04-21 17:48:42 -04:00
n1474335 07bb095e73 Merge pull request #115 from tlwr/patch-1
Update Crown Copyright to 2017 in jsdoc.conf.json
2017-04-15 20:49:10 +01:00
n1474335 e409029bb3 Merge pull request #116 from tlwr/patch-2
Add Travis CI badge to README.md
2017-04-15 20:48:42 +01:00
n1474335 a4d93f23d6 Added preloader to hide elements before they are correctly rendered 2017-04-15 20:46:57 +01:00
Toby Lorne 6201176852 Add Travis CI badge to README.md 2017-04-13 15:36:17 -04:00
Toby Lorne 7d958cc20e Update Crown Copyright to 2017 in jsdoc.conf.json 2017-04-13 15:23:54 -04:00
n1474335 e0e5670d0e Styles rewritten in a modular format with themable properties stored in variables. 2017-04-13 17:59:37 +01:00
n1474335 68e855e3d2 Merge branch 'FloatingGhost-master' 2017-04-11 14:42:14 +00:00
n1474335 bf91352fce Modified comments in Code.js 2017-04-11 14:41:30 +00:00
n1474335 a840504b3d Merge branch 'master' of https://github.com/FloatingGhost/CyberChef into FloatingGhost-master 2017-04-11 14:38:29 +00:00
n1474335 e120422b05 Styles now imported through Sass. Less removed. 2017-04-09 14:06:59 +01:00
n1474335 c60e99288f 5.1.3 2017-04-07 23:03:17 +01:00
n1474335 d9006d6e37 Merge pull request #110 from artemisbot/feature/accessibility
Made changes to fix accessibility errors
2017-04-07 23:10:42 +01:00
Matt C 9121b83bd1 Update Gruntfile.js 2017-04-07 23:01:37 +01:00
n1474335 fad3db1556 5.1.2 2017-04-07 22:24:51 +01:00
n1474335 9d4862b5c8 Merge pull request #111 from gchq/bug-autobake-reorder
BUGFIX #98: Auto-Bake now triggers when operations are re-ordered.
2017-04-07 22:34:32 +01:00
n1474335 2a07999db6 BUGFIX #98: Auto-Bake now triggers when operations are re-ordered. 2017-04-07 22:23:23 +01:00
n1474335 ce2ffcafd3 5.1.1 2017-04-07 21:59:07 +01:00
n1474335 3093794f72 Merge pull request #109 from gchq/bug-search
Fixed popover bug in search. Fixes #107
2017-04-07 22:08:12 +01:00
n1474335 abd05f5105 Fixed popover bug in search and removed popovers when favourites are dragged out. 2017-04-07 21:50:53 +01:00
n1474335 dcb2ad9d2d Merge branch 'l50741-feature/accessibility' 2017-04-07 21:28:22 +01:00
Matt C 44d2e100bd Made changes to fix accessibility errors
Still some warnings and notices, but they are inconsequential.
2017-04-07 17:00:32 +01:00
Hannah Ward 8d9c114acd fix: Re-add comments in code replacements 2017-04-07 13:59:00 +01:00
Hannah Ward bce0950498 chg: Removed redundant code = code.replace 2017-04-06 12:43:37 +01:00
Hannah Ward dcac64fb9a chg: Compress repeated replaces 2017-04-06 12:31:44 +01:00
n1474335 1770205ee1 5.1.0 2017-04-05 23:07:40 +01:00
n1474335 5c7dfcb4a2 Updated .travis.yml 2017-04-05 23:07:33 +01:00
n1474335 35e7460be8 Fixed lint error 2017-04-05 22:03:30 +01:00
n1474335 87ebe77dfb Merge branch 'artemisbot-feature-octal' 2017-04-05 22:00:33 +01:00
n1474335 5f85bff315 Fixed tests for octal operations. 2017-04-05 22:00:06 +01:00
l50741 03ad87d651 add a grunt plugin to check accessibility 2017-04-05 21:30:22 +01:00
Matt C a36c9ca339 Merge remote-tracking branch 'upstream/master' into feature-octal 2017-03-31 18:44:38 +00:00
n1474335 f07709e80b Merge branch 'master' of https://github.com/gchq/CyberChef 2017-03-31 16:01:26 +00:00
n1474335 7272c86592 5.0.1 2017-03-31 16:00:30 +00:00
n1474335 706423462d 'From Base' operation now supports numbers with fractional parts. 2017-03-31 16:00:23 +00:00
n1474335 bace0c5b2c Updated .travis.yml 2017-03-31 11:27:39 +01:00
n1474335 3788a9161a Updated .travis.yml to add GA code to GH Pages 2017-03-31 09:56:08 +00:00
n1474335 7276ccaf96 5.0.0 2017-03-30 21:18:41 +01:00
n1474335 3a9dbdf7fb Fixed Travis CI config for releases 2017-03-30 21:18:33 +01:00
n1474335 8106ba5bc6 Configured Travis CI to deploy GitHub Releases 2017-03-30 20:54:46 +01:00
n1474335 b9766a5041 Configured Travis CI to deploy to GitHub Pages 2017-03-30 20:17:40 +01:00
n1474335 a37d2a24cf Merge branch 'master' of https://github.com/gchq/CyberChef 2017-03-30 19:59:31 +01:00
n1474335 3b253f48ae Added .travis.yml for CI 2017-03-30 19:58:58 +01:00
n1474335 f63456ae30 Updated README.md 2017-03-30 18:56:07 +01:00
n1474335 6cbf9ef2c2 Added npm shortcuts for test, build and docs 2017-03-30 18:47:53 +01:00
n1474335 8ed4cb65c5 Merge pull request #95 from gchq/feature-webpack
ES6, webpack, Babel, libraries imported through npm, and NodeJS version
2017-03-30 18:25:33 +01:00
n1474335 6d396dbb9e Calls to window and document in src/core/ no longer break non-browser environments 2017-03-30 00:47:51 +01:00
n1474335 dd5bd5d5e7 Added timeout back to test runner. 2017-03-30 00:15:40 +01:00
n1474335 720b7a3e3f Removed stats.txt functionality as it doesn't add much. 2017-03-29 21:51:42 +01:00
Matt C 7ab6c88774 Made fixes so that tests might work 2017-03-28 16:21:57 +00:00
n1474335 e71abcd78d Updated README.md 2017-03-28 16:17:20 +01:00
Matt C 96e40a6479 Made requested changes. 2017-03-27 20:30:32 +00:00
Matt C 497824ff21 Merge branch 'master' into feature-octal 2017-03-27 18:50:42 +00:00
n1474335 06d4002c6b Fixed CanvasComponents not being available to operation output code. 2017-03-27 19:43:50 +01:00
n1474335 ed21dff88f Fixed 'Diff' imports and added test 2017-03-27 19:39:04 +01:00
n1474335 559e32a16a Merged upstream master 2017-03-27 18:41:23 +01:00
n1474335 d63a465e6b Updated webpack config to work with beta branch 2017-03-27 16:20:43 +01:00
n1474335 97d41fd50a Restructured and fixed inliner. 2017-03-27 16:08:36 +01:00
n1474335 d37bc4ab08 Fixed node imports. 2017-03-25 13:56:46 +00:00
n1474335 c75ebcf001 Fixed tests and brought test module naming in line with conventions. 2017-03-25 13:32:35 +00:00
n1474335 9bd11dc7ad UglifyJS now invoked by webpack instead of Grunt 2017-03-23 18:41:36 +00:00
n1474335 131b3a83c1 Converted all modules from CommonJS to ES6 2017-03-23 17:52:20 +00:00
n1474335 456aeeda7e Merge pull request #94 from surevine/base32-issue
Fixed an issue with Base32 encoding
2017-03-23 15:26:25 +00:00
n1474335 0f2a5014be Restructured src files into a more logical hierarchy 2017-03-23 00:33:40 +00:00
Ashley Ward 72e3c6fc24 Fixed an issue with Base32 encoding 2017-03-22 22:12:18 +00:00
n1474335 c9910a8ddb Banners and template options added through webpack 2017-03-22 16:55:21 +00:00
n1474335 df15826912 CSS now packaged with webpack instead of Grunt 2017-03-22 16:12:53 +00:00
n1474335 fce13130cd Removed snowfall feature 2017-03-22 00:05:40 +00:00
n1474335 1800bad61d Added babel-preset-env with browser version targets and babel-polyfill 2017-03-21 23:56:46 +00:00
n1474335 87d6459074 Updated production build 2017-03-21 23:10:18 +00:00
n1474335 45640f2f2e Merge branch 'tlwr-filedownload' 2017-03-21 23:07:54 +00:00
n1474335 69f6769d52 Removed jQuery and reference to window object from Utils code. 2017-03-21 23:06:51 +00:00
n1474335 885fbe13ac Set up Grunt tasks to build web and Node versions of CyberChef using webpack 2017-03-21 22:41:44 +00:00
Matt C b8ce10ae96 Adds Octal functions
- To Octal
- From Octal
2017-03-14 21:26:10 +00:00
toby 78abacdadc Add download button for displayFilesAsHTML files
+ Added bytes attribute for "file objects" in untar and unzip
+ Added download button on files displayed by displayFilesAsHTML
2017-03-12 14:03:40 -04:00
n1474335 94ea086e05 BUGFIX: "Strip HTTP header" operation now functions correctly. 2017-03-09 17:16:47 +00:00
n1474335 691f156911 Merge pull request #90 from gchq/feature-ipv6reservedranges
Added EUI-64 detection to 'Parse IPv6 address'
2017-03-08 13:59:39 +00:00
n1474335 b93c183772 Added EUI-64 detection to 'Parse IPv6 address' 2017-03-07 13:36:26 +00:00
n1474335 99f306dc18 Removed unused standalone libraries and fixed a few outstanding imports. 2017-03-07 11:27:36 +00:00
n1474335 a21e0e546b Converted the majority of the core and operations to use CommonJS module syntax. 2017-03-06 12:45:51 +00:00
n1474335 14e9ea699a Jump operations now jump backwards in a more logical way. 2017-03-04 10:57:14 +00:00
n1474335 a459f542af Merge pull request #85 from Manishearth/crypt
Add UNIX crypt base64 format
2017-03-02 14:09:59 +00:00
n1474335 a4197684e5 Added licencing info to README 2017-03-01 21:45:49 +00:00
n1474335 fc9c2d1f6e BUGFIX: HTML output which is then converted to a regular string (for a standard operation) still contained escaped HTML chars. 2017-03-01 21:33:28 +00:00
n1474335 70603be5ab BUGFIX: Jump operations skipping an operation once maxJumps reached. 2017-03-01 21:20:42 +00:00
n1474335 3ad4291258 Added Fork and Conditional Jump test 2017-03-01 21:13:20 +00:00
Manish Goregaokar 83791e2ea7 Add crypt base64 format 2017-03-01 09:44:35 -08:00
n1474335 d91bdd7f8f Merge branch 'tlwr-tests' 2017-02-28 17:09:22 +00:00
n1474335 d7e396c04f Tweaks and restructuring of test runner. 2017-02-28 17:08:36 +00:00
n1474335 6e5ea5d75f Merge branch 'tests' of https://github.com/tlwr/CyberChef into tlwr-tests 2017-02-28 13:05:03 +00:00
toby 3a90244af0 Convert test runner to headless 2017-02-24 18:50:17 -05:00
n1474335 7355bf5998 Merge pull request #83 from gchq/feature-ipv4header
Feature: 'Parse IPv4 header' operation
2017-02-24 17:14:23 +00:00
toby 04df7a51d2 Handle case when expected error and receives none 2017-02-23 14:30:19 -05:00
toby 3d89881373 Fix typo in TestRegister.js 2017-02-23 14:04:50 -05:00
toby d680b4a06f Merge remote-tracking branch 'upstream/master' into tests 2017-02-23 14:04:30 -05:00
toby 500522bdeb Initial work on in-browser test runner
Run `grunt test` and open up the `build/test/index.html` to run the
tests.
2017-02-23 13:59:58 -05:00
n1474335 d6cebe55ab Merge branch 'master' into feature-ipv4header 2017-02-21 19:52:36 +00:00
n1474335 be07fe81ed Completed 'Parse IPv4 header' operation candidate. 2017-02-21 19:40:19 +00:00
n1474335 6505c4e6d8 Built new production version to incorporate Morse Code improvements. 2017-02-18 16:15:42 +00:00
n1474335 fa20939dd4 Added initial functionality for 'Parse IPv4 header' operation. 2017-02-18 16:13:19 +00:00
n1474335 6bb6363b0f Merge pull request #74 from misterRaven/master
Morse code improvements
2017-02-18 16:10:58 +00:00
n1474335 92bd2c921e Built production version with Base58 and NetBIOS operations. Closes #48. 2017-02-13 18:12:55 +00:00
n1474335 701ea5890d Merge pull request #78 from tlwr/master
Base58 operations
2017-02-13 17:50:38 +00:00
n1474335 f8744df907 Merge pull request #75 from gchq/feature-netbios
'Encode NetBIOS Name' and 'Decode NetBIOS Name' operations
2017-02-13 17:49:32 +00:00
n1474335 4d14e20afb Merge pull request #80 from gchq/bug-canvascomponents
BUGFIX: CanvasComponents naming conventions updated to match main pro…
2017-02-13 17:49:19 +00:00
n1474335 edb418a3fc BUGFIX: CanvasComponents naming conventions updated to match main project settings. Fixes 'Entropy' and 'Frequency distribution' operations. 2017-02-13 17:48:24 +00:00
toby 11e972ff26 Change description in Base58.js 2017-02-10 13:45:20 -05:00
toby 9125d74fa2 Merge branch 'base58' 2017-02-10 13:34:21 -05:00
toby e26e6a4961 Add "To Base58" and "From Base58" operations 2017-02-10 13:31:59 -05:00
n1474335 522e7a9439 Merge pull request #77 from gchq/bug-html-entities
Fixed double encoding of HTML entities.
2017-02-10 16:38:06 +00:00
n1474335 f76316eae3 Fixed double encoding of HTML entities by improving Utils.escapeHTML. Fixes #76. 2017-02-10 16:39:32 +00:00
n1474335 0e2ce2bee2 Rebuilt production version to include tar and untar ops. 2017-02-10 12:21:51 +00:00
n1474335 ea38664d59 Merge pull request #71 from tlwr/master
Tar and Untar (and Unzip changes)
2017-02-10 12:12:02 +00:00
n1474335 ee5aea5443 Added 'Encode NetBIOS Name' and 'Decode NetBIOS Name' operations 2017-02-10 11:57:23 +00:00
toby 0fd2550190 Improve and fix examples for padBytesRight 2017-02-09 13:37:30 -05:00
toby 0eef1d972a Add padBytesRight author & displayFilesAsHTML desc 2017-02-09 13:22:27 -05:00
toby 6cc5806486 Remove obsolete line from displayFilesAsHTML 2017-02-09 13:20:44 -05:00
toby bbc93af2ae Remove padLeft & move zeroFillBytes to Utils
+ `padLeft was changed to use `Utils.padLeft`
+ Moved `zeroFillBytes` to `Utils.padBytesRight`
2017-02-09 13:07:46 -05:00
toby 037540c9a8 Fix description for Tar operation
Changed "unpack" to "pack"
2017-02-09 13:04:46 -05:00
toby 3bd585cabf Update Unzip to use displayFilesAsHTML 2017-02-09 12:00:36 -05:00
toby 6b8ab2bf16 Add file count to displayFilesAsHTML 2017-02-09 11:59:47 -05:00
toby c67957da81 Code styling changes to pass grunt prod 2017-02-09 11:38:20 -05:00
toby e751825a49 Merge branch 'master' of github.com:tlwr/CyberChef 2017-02-09 11:37:49 -05:00
toby a4283554cf Merge remote-tracking branch 'upstream/master' 2017-02-09 11:35:14 -05:00
toby d26cf4ca9d Merge remote-tracking branch 'upstream/master' 2017-02-09 11:31:15 -05:00
toby 616cebff5a Fix "A lone zero block at ##" bug
Before, the tar operation would write the incorrect number of bytes to
indicate the end of the tar file. It should have been 2 blocks of 512
ascii zeros, but it would write 529 zeros instead.

The new implementation of `writeEndBlocks` is nicer and we can reuse
code with the `addEmptyBlock` function.
2017-02-09 11:25:09 -05:00
n1474335 e803d208e8 Updated eslint whitespace rules 2017-02-09 15:09:33 +00:00
n1474335 ebf2258715 Merge branch 'artemisbot-feature-affine' 2017-02-09 14:18:04 +00:00
n1474335 b2b60f0454 Fixed conflicts. 2017-02-09 14:17:44 +00:00
misterRaven 1cc7835a8d FromMorse operation extended to treat dashes & hyphens as long signals 2017-02-09 17:29:12 +07:00
misterRaven 991bb887ae Punctuation symbols for Morse code 2017-02-09 17:20:06 +07:00
toby d5796706e4 Change Tar block padding to 2 blocks 2017-02-08 23:52:59 -05:00
toby 1653cbf817 Fix JSDoc return type for displayFilesAsHTML 2017-02-08 23:36:09 -05:00
toby 442dd560c0 Implement the Tar operation 2017-02-08 23:35:54 -05:00
toby 281a83bbc3 Add author to runTar, runUntar, displayFilesAsHTML 2017-02-08 12:51:54 -05:00
toby 6f077a9c50 Rename to runTar, runUntar, displayFilesAsHTML 2017-02-08 12:51:18 -05:00
Matt C a153246191 Tidied operations to match conventions 2017-02-08 17:29:50 +00:00
Matt C 2750be36da Adds Affine/Atbash Cipher encryption/decryption
- 3 new operations - Affine Encode, Decode and Atbash Cipher
- Added 3 new utils - mod, GCD and modInv
2017-02-08 11:51:37 +00:00
toby e809deb914 Initial functionality of untar
+ Added skeleton "Tar" operation with no functionality
+ Added intial functionality of "Untar"
+ Added a function in `Utils` `HTMLFormat` to generalize HTML generation
of files and folders (could later be used in Unzip).

I had a brief search for a small library for tar and untar operations,
however they were mostly for node (if anyone finds one we can drop in
that would be appreciated) or unmaintained. Luckily the tar spec is
relatively easy to understand just from Wikipedia.
2017-02-08 00:05:52 -05:00
n1474335 b8b51e04bb Updated ISSUE_TEMPLATE.md 2017-02-07 20:30:44 +00:00
n1474335 4f0d153e73 Added 'Report a bug' tab to the 'About/Support' pane. 2017-02-07 20:31:15 +00:00
n1474335 6eacd213a3 Added ISSUE_TEMPLATE.md 2017-02-07 18:05:05 +00:00
n1474335 db0fb1cd25 Added CONTRIBUTING.md 2017-02-07 16:48:31 +00:00
n1474335 35d74980a1 BUGFIX #70: Updated 'CSS selector' operation to use vanilla JS instead of jQuery, also fixing root element selection issues. 2017-02-07 15:04:10 +00:00
n1474335 553d9945ce Added forward and backward slashes to the delimiter options for the Morse Code operations. Closes #66. 2017-02-07 14:37:26 +00:00
n1474335 3b1c378e15 Merge branch 'tlwr-master' 2017-02-07 14:20:53 +00:00
n1474335 8f69ee441e Tidied Morse Code operations to match the project conventions. 2017-02-07 14:20:34 +00:00
Toby Lorne 718e1dc153 Merge pull request #1 from artemisbot/morse-fixes
Morse fixes
2017-02-03 22:00:55 -05:00
Matt C a30babc682 Fixes required changes
gchq/CyberChef#67
2017-02-04 00:17:04 +00:00
Matt C ae8eea543c Merged branch master into morse-fixes 2017-02-04 00:13:03 +00:00
Matt C 02fce74a65 Merge remote-tracking branch 'refs/remotes/upstream/master' 2017-02-04 00:01:44 +00:00
toby b9f1cf968f Make translateTo faster and aware of line breaks
Speed improvement is due to using a function regex instead of multiple
find/replace calls.
2017-02-03 18:34:46 -05:00
toby 9bf0d66b88 Fix casing for Morse code operations + description 2017-02-03 18:00:27 -05:00
toby 230ba5ff67 Add initial functionality
Added "To Morse Code" and "From More Code" functions under the category
"Encryption / Encoding".

"To Morse Code" accepts 3 arguments:
1. Format options: e.g. ./- or Dot/Dash
2. Letter delimiter e.g. <space> or <newline>
3. Word delimiter e.g. <newline>

"From Morse Code" accepts 2 arguments:
1. Letter delimiter
2. Word delimiter
2017-02-03 16:43:30 -05:00
n1474335 e3c977934b Variable names changed from underscore to CamelCase. Eslint rules updated. #64 2017-01-31 18:24:56 +00:00
n1474335 f8193797fa Small CSS tweak to correct the cursor when hovering over FAQ links. Fixes #59. 2017-01-31 16:10:42 +00:00
n1474335 6642471164 Added 'Fork me on GitHub' ribbon to About/Support pane. Closes #57. 2017-01-31 14:05:19 +00:00
Dale Myers fadd7158ed Add string escape/unescape operations
These operations are useful for taking the contents of a string, and making it
suitable for use as a stand alone string. For example, in an IDE you might see
a string which is represented as: "Say \"Hello\"". The escaped double quotes
are shown to make it clear that they do not end the string, despite the fact
that they are not truly part of the string. In order to get the raw string, you
would need to copy this, then manually remove the backslashes. The new
String_.run_unescape operation does this automatically.

The String_.run_escape is the inverse. It allows you to take a string like the
one above, and paste it between two quotes without having to manually escape
it.
2017-01-23 21:39:08 +00:00
n1474335 3c3f5d9dcd Added Fletcher-8, -32 and -64 checksum operations. Closes #51. 2017-01-17 15:52:24 +00:00
n1474335 cddd349090 Removed unused jquery.splitter.css 2017-01-17 12:52:15 +00:00
n1474335 ba8524ca79 Added 'MD2', 'MD4' and 'SHA0' operations. Closes #52. 2017-01-16 16:40:43 +00:00
n1474335 2257754b94 Jump operations now return the final state when the maximum jump count is reached instead of throwing an error. 2017-01-16 16:00:44 +00:00
n1474335 baa433ab80 'Fork' operation now has an option to ignore errors occuring on each branch 2017-01-16 15:58:38 +00:00
n1474335 488ca7167e BUGFIX: Saved recipes can now be deleted again. 2017-01-16 15:03:16 +00:00
n1474335 4d131c921a BUGFIX #47: Replaced 'const' declarations with 'var' to fix iOS incompatibilities. 2016-12-31 17:12:39 +00:00
n1474335 216d8f1f7a Tweaks to 'Filter' operation. 2016-12-23 14:36:16 +00:00
n1474335 ca87d54aa2 Merge pull request #46 from Mikescher/feature_filter
Added operation 'Filter' to split input by regex
2016-12-23 14:24:39 +00:00
Mike Schwörer f44171c005 Merge remote-tracking branch 'upstream/master' into feature_filter 2016-12-21 20:17:53 +01:00
n1474335 ef464ab57c Added 'Substitute' operation. 2016-12-21 14:09:46 +00:00
n1474335 e1ef228575 Output buttons now adjust when there is limited screen space. 2016-12-21 12:13:03 +00:00
n1474335 9c1fb7ddf4 Added button to maximise the output window 2016-12-20 20:18:16 +00:00
n1474335 a9f15b2c64 Updated npm package versions 2016-12-20 18:57:53 +00:00
n1474335 39d50093ae Tweaks to 'XPath expression' and 'CSS selector' operations. Closes #13. 2016-12-20 18:49:25 +00:00
n1474335 650fd9a940 Merge pull request #20 from Mikescher/feature_xpath
Added operations 'XPath expression' and 'CSS selector'
2016-12-20 18:16:14 +00:00
Mike Schwörer 4b5210585a Added operation 'filter' 2016-12-17 01:53:06 +01:00
Mike Schwörer 8db1b2fc79 switched from jquery.cpath.js to xpath.js 2016-12-17 01:14:33 +01:00
Mike Schwörer dea16f63f5 Small stuff to make eslint happy 2016-12-16 22:32:19 +01:00
Mike Schwörer 4c36123fd7 Merge remote-tracking branch 'upstream/master' into feature_xpath
# Conflicts:
#	Gruntfile.js
#	src/js/.jshintrc
2016-12-16 22:15:53 +01:00
Matt C c24cdf3bae Merge remote-tracking branch 'refs/remotes/upstream/master' 2016-12-14 23:31:04 +00:00
n1474335 af4644c9eb Replaced jsHint with eslint. Fixes #4. 2016-12-14 16:39:17 +00:00
n1474335 e2e68dd876 BUGFIX: Fixed seasonal event handling. 2016-12-14 13:12:04 +00:00
n1474335 351eef7fd9 BUGFIX: Flow control ops are now correctly highlighted when a breakpoint is triggered on them. 2016-12-14 12:43:57 +00:00
Matt C ed5f00d402 Merge remote-tracking branch 'refs/remotes/upstream/master'
Conflicts:
	build/prod/cyberchef.htm
	build/prod/index.html
	build/prod/scripts.js
	src/static/stats.txt
2016-12-08 09:18:14 +00:00
n1474335 7994a65926 Merge branch 'artemisbot-feature_vigenere' 2016-12-08 00:35:01 +00:00
n1474335 55c1626d41 Cleaned up the Vigenere cipher operations so that they conform with the coding conventions. 2016-12-08 00:34:41 +00:00
n1474335 e5854b6f86 Resolving conflicts 2016-12-08 00:09:31 +00:00
n1474335 ed7cab36d2 BUGFIX: Operations can now be dragged out of the recipe on touchscreen devices. 2016-12-07 23:57:15 +00:00
Matt C e64dfcdf0f Build
Final ROT-47 + probably final vig
2016-12-06 20:28:20 +00:00
Matt C ac3a0b35f5 Merge branch 'feature_vigenere'
Conflicts:
	build/prod/cyberchef.htm
	build/prod/index.html
	build/prod/scripts.js
	src/static/stats.txt
2016-12-06 20:27:14 +00:00
Matt C 22c00e8d3c Merge remote-tracking branch 'refs/remotes/upstream/master'
Conflicts:
	build/prod/cyberchef.htm
	build/prod/index.html
	build/prod/scripts.js
	src/static/stats.txt
2016-12-06 20:23:20 +00:00
Matt C b36459064e Changes for merge
- Removed conflicting build files
- Moved @author tags
2016-12-06 20:20:27 +00:00
n1474335 b0fd297069 Merge branch 'artemisbot-feature_rot47' 2016-12-06 18:45:51 +00:00
n1474335 6fa6a92719 Moved author tag and improved description for ROT47 2016-12-06 18:43:55 +00:00
n1474335 2db810289d Merge conflicts 2016-12-06 18:32:39 +00:00
n1474335 86fb03fe10 BUGFIX #37: Description popovers for search results now get removed when the list is modified. 2016-12-06 18:10:35 +00:00
Matt C 326e15d05c Built production version.
- Includes both ROT-47 and Vigenere
2016-12-06 17:10:42 +00:00
Matt C f2b22605ab Merge branch 'feature_vigenere'
Conflicts:
	build/prod/cyberchef.htm
	build/prod/index.html
	build/prod/scripts.js
	src/static/stats.txt
2016-12-06 17:08:45 +00:00
Matt C 44919b8c17 Merge remote-tracking branch 'refs/remotes/upstream/master'
Conflicts:
	build/prod/cyberchef.htm
	build/prod/index.html
	build/prod/scripts.js
	src/static/stats.txt
2016-12-06 17:02:17 +00:00
Matt C 605a577d92 Merge remote-tracking branch 'refs/remotes/upstream/master'
Conflicts:
	build/prod/cyberchef.htm
	build/prod/index.html
	build/prod/scripts.js
	src/static/stats.txt
2016-12-06 17:01:35 +00:00
Mike Schwörer 5c92e49d5d Merge remote-tracking branch 'upstream/master' into feature_xpath 2016-12-05 20:16:39 +01:00
Mike Schwörer 662805d11e fixed a few jshint warnings and uglify:prod problems 2016-12-05 20:03:33 +01:00
Mike Schwörer da7a832ceb Merge remote-tracking branch 'upstream/master' into feature_xpath 2016-12-05 19:30:46 +01:00
n1474335 e4d30861d5 BIGFIX: 'Show Base64 Offsets' operation now escapes input before adding to tooltips. 2016-12-05 14:07:19 +00:00
Matt C b631feea74 Misc Fixes
- Built prod version
- added missing semicolons
2016-12-03 21:33:19 +00:00
Matt C 560712cee3 Feature: Add Vigenere Cipher Encode & Decode
- Added Vigenere Encode & Decode
- Added metadata for /config/ relating to this additon
2016-12-03 20:54:28 +00:00
Matt C 67ee8544e9 Added name to Rotate namespace 2016-12-03 13:47:38 +00:00
Matt C 1cc48fd481 Update for merge
- Added to Categories
- Removed comment
- Rebuilt pages
2016-12-03 10:19:26 +00:00
Matt C 4101152c73 Merge remote-tracking branch 'refs/remotes/upstream/master'
Conflicts:
	build/prod/cyberchef.htm
	build/prod/index.html
	build/prod/scripts.js
	src/static/stats.txt
2016-12-03 10:15:00 +00:00
n1474335 20d9903572 XOR operation now supports both input and output differentials. Fixes #17 2016-12-03 01:42:23 +00:00
n1474335 fc9d0a63c2 JSON Beautify and Minify operations no longer throw an error on empty input. Fixes #29 2016-12-03 00:51:17 +00:00
n1474335 19b0a972d8 Inlined version now correctly displays compile time in place of the download link. Fixes #14. 2016-12-03 00:40:51 +00:00
n1474335 43fa4370a3 Added Grunt task to deploy build/prod to the gh-pages branch. Partial solution to #19. 2016-12-03 00:37:38 +00:00
Schwörer Mike 2db6f8f63c added css_query operation 2016-12-02 12:49:49 +01:00
Matt C 09a9fbe206 Built production version 2016-12-01 23:09:18 +00:00
Matt C ca8fef1c90 Merge Upstream. 2016-12-01 22:55:09 +00:00
n1474335 8b0112229e BUGFIX #24: Invalid favourites loaded from localStorage are now escaped when reported to the user. 2016-11-30 23:11:06 +00:00
n1474335 8882805830 Favicon changed to a data URL to prevent re-requests in some circumstances. #21 2016-11-30 19:50:21 +00:00
n1474335 2f0bc54046 BUGFIX #24: toggle_string arguments are now escaped before being inserted into the DOM. 2016-11-30 19:33:20 +00:00
Schwörer Mike d5f84abb3b declare function as const and added Node.DOCUMENT_NODE 2016-11-30 12:23:19 +01:00
Schwörer Mike befb89ba76 reverted .gitignore and no for-loop in run_xpath 2016-11-30 09:56:02 +01:00
Mike Schwörer 51b627ab29 Added operation: "XPath expression" 2016-11-29 19:59:51 +01:00
Matt C 9ab5fb5469 Built webpage for previous commit. 2016-11-29 18:03:13 +00:00
Matt C 20d4e5d263 FEATURE: Added ROT47 support.
Added support for ROT 47 Variation of Caesar Cipher.
2016-11-29 17:53:31 +00:00
n1474335 09d515cbae Merge pull request #12 from WrathZA/master
'Download CyberChef' link now downloads the HTML file when clicked in browsers rather than displaying it
2016-11-29 16:46:28 +00:00
WrathZA 405d956080 Added download attribute 2016-11-29 11:22:41 +02:00
WrathZA 75fd16a600 Added download attribute to <a> tag
Added download attribute to <a> tag
2016-11-29 11:21:53 +02:00
n1474335 94c631a928 Example links updated and stats recalculated. 2016-11-28 11:36:58 +00:00
n1474335 8342595dca Demo and wiki links updated. 2016-11-28 11:13:01 +00:00
n1474335 b1d73a725d Initial commit 2016-11-28 10:42:58 +00:00
259 changed files with 67435 additions and 23731 deletions

No files matched your search

+14
View File
@@ -0,0 +1,14 @@
{
"presets": [
["env", {
"targets": {
"chrome": 40,
"firefox": 35,
"edge": 14,
"node": "6.5",
},
"modules": false,
"useBuiltIns": true
}]
]
}
+2
View File
@@ -0,0 +1,2 @@
src/core/lib/**
src/core/config/MetaConfig.js
Executable
+105
View File
@@ -0,0 +1,105 @@
{
"parserOptions": {
"ecmaVersion": 8,
"ecmaFeatures": {
"impliedStrict": true
},
"sourceType": "module"
},
"env": {
"browser": true,
"es6": true,
"node": true
},
"extends": "eslint:recommended",
"rules": {
// enable additional rules
"no-eval": "error",
"no-implied-eval": "error",
"dot-notation": "error",
"eqeqeq": ["error", "smart"],
"no-caller": "error",
"no-extra-bind": "error",
"no-unused-expressions": "error",
"no-useless-call": "error",
"no-useless-return": "error",
"radix": "warn",
// modify rules from base configurations
"no-unused-vars": ["error", {
"args": "none",
"vars": "local",
// Allow vars that start with a capital letter to be unused.
// This is mainly for exported module names which are useful to indicate
// the name of the module and may be used to refer to itself in future.
"varsIgnorePattern": "^[A-Z]"
}],
"no-empty": ["error", {
"allowEmptyCatch": true
}],
// disable rules from base configurations
"no-console": "off",
"no-control-regex": "off",
// stylistic conventions
"brace-style": ["error", "1tbs"],
"block-spacing": "error",
"array-bracket-spacing": "error",
"comma-spacing": "error",
"comma-style": "error",
"computed-property-spacing": "error",
"no-trailing-spaces": "warn",
"eol-last": "error",
"func-call-spacing": "error",
"key-spacing": ["warn", {
"mode": "minimum"
}],
"indent": ["error", 4, {
"ArrayExpression": "first",
"SwitchCase": 1
}],
"linebreak-style": ["error", "unix"],
"quotes": ["error", "double", {
"avoidEscape": true
}],
"camelcase": ["error", {
"properties": "always"
}],
"semi": ["error", "always"],
"unicode-bom": "error",
"require-jsdoc": ["error", {
"require": {
"FunctionDeclaration": true,
"MethodDefinition": true,
"ClassDeclaration": true,
"ArrowFunctionExpression": true
}
}],
"keyword-spacing": ["error", {
"before": true,
"after": true
}],
"no-multiple-empty-lines": ["warn", {
"max": 2,
"maxEOF": 1,
"maxBOF": 0
}],
"no-whitespace-before-property": "error",
"operator-linebreak": ["error", "after"],
"space-in-parens": "error",
"no-var": "error"
},
"globals": {
"$": false,
"jQuery": false,
"moment": false,
"COMPILE_TIME": false,
"COMPILE_MSG": false,
"PKG_VERSION": false,
"ENVIRONMENT_IS_WORKER": false,
"ENVIRONMENT_IS_NODE": false,
"ENVIRONMENT_IS_WEB": false
}
}
+37
View File
@@ -0,0 +1,37 @@
# Contributing
Take a look through the [Wiki pages](https://github.com/gchq/CyberChef/wiki) for guides on [compiling CyberChef](https://github.com/gchq/CyberChef/wiki/Getting-started) and [adding new operations](https://github.com/gchq/CyberChef/wiki/Adding-a-new-operation).
There are lots of opportunities to contribute to CyberChef. If you want ideas, take a look at any [Issues](https://github.com/gchq/CyberChef/issues) tagged with '[help wanted](https://github.com/gchq/CyberChef/labels/help%20wanted)'.
Before your contributions can be accepted, you must:
- Sign the [GCHQ Contributor Licence Agreement](https://github.com/gchq/Gaffer/wiki/GCHQ-OSS-Contributor-License-Agreement-V1.0)
- Push your changes to your fork.
- Submit a pull request.
## Coding conventions
* Indentation: Each block should consist of 4 spaces
* Object/namespace identifiers: CamelCase
* Function/variable names: camelCase
* Constants: UNDERSCORE_UPPER_CASE
* Source code encoding: UTF-8 (without BOM)
* All source files must end with a newline
* Line endings: UNIX style (\n)
## Design Principals
1. If at all possible, all operations and features should be client-side and not rely on connections to an external server. This increases the utility of CyberChef on closed networks and in virtual machines that are not connected to the Internet. Calls to external APIs may be accepted if there is no other option, but not for critical components.
2. Latency should be kept to a minimum to enhance the user experience. This means that all operation code should sit on the client, rather than being loaded dynamically from a server.
3. Use Vanilla JS if at all possible to reduce the number of libraries required and relied upon. Frameworks like jQuery, although included, should not be used unless absolutely necessary.
4. Minimise the use of large libraries, especially for niche operations that won't be used very often - these will be downloaded by everyone using the app, whether they use that operation or not (due to principal 2).
With these principals in mind, any changes or additions to CyberChef should keep it:
- Standalone
- Efficient
- As small as possible
+25
View File
@@ -0,0 +1,25 @@
<!-- Prefix the title above with one of the following: -->
<!-- Bug report: -->
<!-- Operation request: -->
<!-- Feature request: -->
<!-- Misc: -->
### Summary
<!-- If you're describing a bug, tell us what's wrong -->
<!-- If you're suggesting a change/improvement, tell us what it is and how it should work -->
### Example
<!-- If describing a bug, tell us what happens instead of the expected behavior -->
<!-- Include a link that triggers the bug if possible -->
<!-- If you are requesting a new operation, include example input and output -->
### Possible solutions
<!-- Not obligatory, but suggest a fix/reason for the bug, or ideas for how to -->
<!-- implement the addition or change, including links to relevant resources -->
### Environment
<!-- Include any relevant details about the environment you experienced the bug in -->
<!-- This information is displayed in the About/Support pane -->
* CyberChef compile time:
* User-Agent:
* [Link to reproduce]()
Executable
+9
View File
@@ -0,0 +1,9 @@
node_modules
npm-debug.log
travis.log
build
docs/*
!docs/*.conf.json
!docs/*.ico
.vscode
src/core/config/MetaConfig.js
Executable
+8
View File
@@ -0,0 +1,8 @@
node_modules
npm-debug.log
travis.log
build/*
!build/node
docs
.vscode
.github
+42
View File
@@ -0,0 +1,42 @@
language: node_js
node_js:
- "8.4"
install: npm install
before_script:
- npm install -g grunt
script:
- grunt lint
- grunt test
- grunt docs
- grunt node
- grunt prod --msg="$COMPILE_MSG"
before_deploy:
- grunt copy:ghPages
deploy:
- provider: pages
skip_cleanup: true
github_token: $GITHUB_TOKEN
local_dir: build/prod/
target_branch: gh-pages
on:
repo: gchq/CyberChef
branch: master
- provider: releases
skip_cleanup: true
api_key:
secure: "HV1WSKv4l/0Y2bKKs1iBJocBcmLj08PCRUeEM/jTwA4jqJ8EiLHWiXtER/D5sEg2iibRVKd2OQjfrmS6bo4AiwdeVgAKmv0FtS2Jw+391N8Nd5AkEANHa5Om/IpHLTL2YRAjpJTsDpY72bMUTJIwjQA3TFJkgrpOw6KYfohOcgbxLpZ4XuNJRU3VL4Hsxdv5V9aOVmfFOmMOVPQlakXy7NgtW5POp1f2WJwgcZxylkR1CjwaqMyXmSoVl46pyH3tr5+dptsQoKSGdi6sIHGA60oDotFPcm+0ifa47wZw+vapuuDi4tdNxhrHGaDMG8xiE0WFDHwQUDlk2/+W7j9SEX0H3Em7us371JXRp56EDwEcDa34VpVkC6i8HGcHK55hnxVbMZXGf3qhOFD8wY7qMbjMRvIpucrMHBi86OfkDfv0vDj2LyvIl5APj/AX50BrE0tfH1MZbH26Jkx4NdlkcxQ14GumarmUqfmVvbX/fsoA6oUuAAE9ZgRRi3KHO4wci6KUcRfdm+XOeUkaBFsL86G3EEYIvrtBTuaypdz+Cx7nd1iPZyWMx5Y1gXnVzha4nBdV4+7l9JIsFggD8QVpw2uHXQiS1KXFjOeqA3DBD8tjMB7q26Fl2fD3jkOo4BTbQ2NrRIZUu/iL+fOmMPsyMt2qulB0yaSBCfkbEq8xrUA="
file:
- build/prod/cyberchef.htm
- build/node/CyberChef.js
on:
repo: gchq/CyberChef
tags: true
- provider: npm
skip_cleanup: true
email: "n1474335@gmail.com"
api_key:
secure: "Z3FK6bm4RfQEIRXZ1lBNzQkVIoHpivThr9U+XBHmsBgIfdrK/XUnzs/slugo+NIz8nPiGmMx4gxyJonBCLHDGb1ysky2aEWTl26c0teaF4DeQEjWC1ZaGzv8MV1/GkUamnr1qouXjyUhyEAp33rd8ccN9Rq3QNYB/qLDcA9/FCme7JCW6sCd4zWO0LGEYMJEMc2FzAUkqhqsI05hegGhSDgKXRn5PmLARek4yHD+Hx7pstaTeQIy0WoGJjdzoB3iJIMmo/hWZGzZafktUOh223c5qzx4zMpDRNmMngBUw6R94nKd4KvplYRgB87Y3L/aiVU4CF+axwLmK8RPaC1wbJnlHf06zxHPdiFmsY/zKPpNel+nOnxzRrF5l2KMU4TU6gug3s9Jnzp9T5UMfhp0jW3YkxHGeuOPOeE1i0lTUWUGWrPHLQquAhLfkr2zxaU4ETk/y85hq9W4LAy0ENEDVXX2jP7FnI4Z1fdpmljpmVNJR+outPg6t+Coqgvil7v7XpMtDm8lKQanVYuxwmkb/ncOWFRWuM2j5zIEg3CHnFDcJ9bYrfKRg0b0tb/2BWD14pQnV76goVwzJQYVzdPc8TKIYJw2BZ1Nh9c0iruQVebe/6l1FX9fDCkz8VMmltni61/LxZrf8y0NT1YaU1raeNY2dH5UWvEa9p72FPMI6Eg="
on:
tags: true
branch: master
-39
View File
@@ -1,39 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>cyberchef [14 Jul 2023 at 18:06]</title>
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
<script>
window.enableWebSocket = false;
</script>
<!-- viewer.js -->
<script>/*! For license information please see viewer.js.LICENSE.txt */
(()=>{var e={4184:(e,t)=>{var n;
/*!
Copyright (c) 2018 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
*/!function(){"use strict";var r={}.hasOwnProperty;function i(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var o=typeof n;if("string"===o||"number"===o)e.push(n);else if(Array.isArray(n)){if(n.length){var a=i.apply(null,n);a&&e.push(a)}}else if("object"===o)if(n.toString===Object.prototype.toString)for(var s in n)r.call(n,s)&&n[s]&&e.push(s);else e.push(n.toString())}}return e.join(" ")}e.exports?(i.default=i,e.exports=i):void 0===(n=function(){return i}.apply(t,[]))||(e.exports=n)}()},3908:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(4015),i=n.n(r),o=n(3645),a=n.n(o)()(i());a.push([e.id,".Button__button{background:#fff;border:1px solid #aaa;border-radius:4px;cursor:pointer;display:inline-block;font:var(--main-font);outline:none;padding:5px 7px;transition:background .3s ease;white-space:nowrap}.Button__button:focus,.Button__button:hover{background:#ffefd7}.Button__button.Button__active{background:orange;color:#000}.Button__button[disabled]{cursor:default}","",{version:3,sources:["webpack://./client/components/Button.css"],names:[],mappings:"AAAA,gBACE,eAAgB,CAChB,qBAAsB,CACtB,iBAAkB,CAClB,cAAe,CACf,oBAAqB,CACrB,qBAAsB,CACtB,YAAa,CACb,eAAgB,CAChB,8BAA+B,CAC/B,kBACF,CAEA,4CAEE,kBACF,CAEA,+BACE,iBAAmB,CACnB,UACF,CAEA,0BACE,cACF",sourcesContent:[".button {\n background: #fff;\n border: 1px solid #aaa;\n border-radius: 4px;\n cursor: pointer;\n display: inline-block;\n font: var(--main-font);\n outline: none;\n padding: 5px 7px;\n transition: background .3s ease;\n white-space: nowrap;\n}\n\n.button:focus,\n.button:hover {\n background: #ffefd7;\n}\n\n.button.active {\n background: #ffa500;\n color: #000;\n}\n\n.button[disabled] {\n cursor: default;\n}\n"],sourceRoot:""}]),a.locals={button:"Button__button",active:"Button__active"};const s=a},2396:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(4015),i=n.n(r),o=n(3645),a=n.n(o)()(i());a.push([e.id,".Checkbox__label{display:inline-block}.Checkbox__checkbox,.Checkbox__label{cursor:pointer}.Checkbox__itemText{margin-left:3px;position:relative;top:-2px;vertical-align:middle}","",{version:3,sources:["webpack://./client/components/Checkbox.css"],names:[],mappings:"AAAA,iBAEE,oBACF,CAEA,qCAJE,cAMF,CAEA,oBACE,eAAgB,CAChB,iBAAkB,CAClB,QAAS,CACT,qBACF",sourcesContent:[".label {\n cursor: pointer;\n display: inline-block;\n}\n\n.checkbox {\n cursor: pointer;\n}\n\n.itemText {\n margin-left: 3px;\n position: relative;\n top: -2px;\n vertical-align: middle;\n}\n"],sourceRoot:""}]),a.locals={label:"Checkbox__label",checkbox:"Checkbox__checkbox",itemText:"Checkbox__itemText"};const s=a},3213:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(4015),i=n.n(r),o=n(3645),a=n.n(o)()(i());a.push([e.id,".CheckboxList__container{font:var(--main-font);white-space:nowrap}.CheckboxList__label{font-size:11px;font-weight:700;margin-bottom:7px}.CheckboxList__item+.CheckboxList__item{margin-top:1px}","",{version:3,sources:["webpack://./client/components/CheckboxList.css"],names:[],mappings:"AAAA,yBACE,qBAAsB,CACtB,kBACF,CAEA,qBACE,cAAe,CACf,eAAiB,CACjB,iBACF,CAEA,wCACE,cACF",sourcesContent:[".container {\n font: var(--main-font);\n white-space: nowrap;\n}\n\n.label {\n font-size: 11px;\n font-weight: bold;\n margin-bottom: 7px;\n}\n\n.item + .item {\n margin-top: 1px;\n}\n"],sourceRoot:""}]),a.locals={container:"CheckboxList__container",label:"CheckboxList__label",item:"CheckboxList__item"};const s=a},580:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(4015),i=n.n(r),o=n(3645),a=n.n(o)()(i());a.push([e.id,".ContextMenu__container{background:#fff;border:1px solid #aaa;border-radius:4px;font:var(--main-font);list-style:none;opacity:1;padding:0;position:absolute;transition:opacity .2s ease,visibility .2s ease;visibility:visible;white-space:nowrap}.ContextMenu__hidden{opacity:0;visibility:hidden}","",{version:3,sources:["webpack://./client/components/ContextMenu.css"],names:[],mappings:"AAAA,wBAKE,eAAgB,CAChB,qBAAsB,CAFtB,iBAAkB,CAHlB,qBAAsB,CAMtB,eAAgB,CAChB,SAAU,CALV,SAAU,CADV,iBAAkB,CASlB,+CAAiD,CADjD,kBAAmB,CADnB,kBAGF,CAEA,qBACE,SAAU,CACV,iBACF",sourcesContent:[".container {\n font: var(--main-font);\n position: absolute;\n padding: 0;\n border-radius: 4px;\n background: #fff;\n border: 1px solid #aaa;\n list-style: none;\n opacity: 1;\n white-space: nowrap;\n visibility: visible;\n transition: opacity .2s ease, visibility .2s ease;\n}\n\n.hidden {\n opacity: 0;\n visibility: hidden;\n}\n"],sourceRoot:""}]),a.locals={container:"ContextMenu__container",hidden:"ContextMenu__hidden"};const s=a},9270:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(4015),i=n.n(r),o=n(3645),a=n.n(o)()(i());a.push([e.id,".ContextMenuItem__item{cursor:pointer;margin:0;padding:8px 14px;-webkit-user-select:none;user-select:none}.ContextMenuItem__item:hover{background:#ffefd7}.ContextMenuItem__disabled{color:grey;cursor:default}.ContextMenuItem__item.ContextMenuItem__disabled:hover{background:transparent}","",{version:3,sources:["webpack://./client/componenLine truncated
/**
* Carrot Search FoamTree HTML5 (demo variant)
* v3.5.0, bugfix/3.5.x/e3b91c8e, build FOAMTREE-SOFTWARE5-DIST-3, Jan 18, 2021
*
* Carrot Search confidential.
* Copyright 2002-2021, Carrot Search s.c, All Rights Reserved.
*/
!function(){var e,t=function(){var e=window.navigator.userAgent;try{window.localStorage.setItem("ftap5caavc","ftap5caavc"),window.localStorage.removeItem("ftap5caavc");var n=!0}catch(r){n=!1}return{Se:function(){return/webkit/i.test(e)},Lh:function(){return/Mac/.test(e)},Qe:function(){return/iPad|iPod|iPhone/.test(e)},Kh:function(){return/Android/.test(e)},Gh:function(){return"ontouchstart"in window||!!window.DocumentTouch&&document instanceof window.DocumentTouch},Fh:function(){return n},Eh:function(){var e=document.createElement("canvas");return!(!e.getContext||!e.getContext("2d"))},md:function(e,n){return[].forEach&&t.Eh()?e&&e():n&&n()}}}(),n=function(){function e(){return window.performance&&(window.performance.now||window.performance.mozNow||window.performance.msNow||window.performance.oNow||window.performance.webkitNow)||Date.now}var t=e();return{create:function(){return{now:function(){var t=e();return function(){return t.call(window.performance)}}()}},now:function(){return t.call(window.performance)}}}();function r(){function r(){if(!u)throw"AF0";var e=n.now();0!==l&&(o.sd=e-l),l=e,s=s.filter((function(e){return null!==e})),o.frames++;for(var t=0;t<s.length;t++){var r=s[t];null!==r&&(!0===r.ee.call(r.context)?s[t]=null:y.zc(r.repeat)&&(r.repeat=r.repeat-1,0>=r.repeat&&(s[t]=null)))}s=s.filter((function(e){return null!==e})),u=!1,i(),0!==(e=n.now()-e)&&(o.rd=e),o.totalTime+=e,o.ue=1e3*o.frames/o.totalTime,l=0===s.length?0:n.now()}function i(){0<s.length&&!u&&(u=!0,a(r))}var o=this.Wf={frames:0,totalTime:0,rd:0,sd:0,ue:0};e=o;var a=t.Qe()?function(e){window.setTimeout(e,0)}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(){var e=n.create();return function(t){var n=0;window.setTimeout((function(){var r=e.now();t(),n=e.now()-r}),16>n?16-n:0)}}(),s=[],u=!1,l=0;this.repeat=function(e,t,n){this.cancel(e),s.push({ee:e,context:n,repeat:t}),i()},this.once=function(e,t){this.repeat(e,1,t)},this.cancel=function(e){for(var t=0;t<s.length;t++){var n=s[t];null!==n&&n.ee===e&&(s[t]=null)}},this.i=function(){s=[]}}var i=t.md((function(){function e(){this.buffer=[],this.ma=0,this.current=y.extend({},s)}function t(e){return function(){var t,n=this.buffer,r=this.ma;for(n[r++]="call",n[r++]=e,n[r++]=arguments.length,t=0;t<arguments.length;t++)n[r++]=arguments[t];this.ma=r}}function n(e){return function(){return o[e].apply(o,arguments)}}var r=document.createElement("canvas");r.width=1,r.height=1;var o=r.getContext("2d");r=["font"];var a="fillStyle globalAlpha globalCompositeOperation lineCap lineDashOffset lineJoin lineWidth miterLimit shadowBlur shadowColor shadowOffsetX shadowOffsetY strokeStyle textAlign textBaseline".split(" "),s={};return a.concat(r).forEach((function(e){s[e]=o[e]})),e.prototype.clear=function(){this.ma=0},e.prototype.Ga=function(){return 0===this.ma},e.prototype.Na=function(e){e instanceof i?function(e,t,n){for(var r=0,i=e.ma,o=e.buffer;r<n;)o[i++]=t[r++];e.ma=i}(e,this.buffer,this.ma):function(e,t,n,r){for(var i=0;i<n;)switch(t[i++]){case"set":e[t[i++]]=t[i++];break;case"setGlobalAlpha":e[t[i++]]=t[i++]*r;break;case"call":var o=t[i++];switch(t[i++]){case 0:e[o]();break;case 1:e[o](t[i++]);break;case 2:e[o](t[i++],t[i++]);break;case 3:e[o](t[i++],t[i++],t[i++]);break;case 4:e[o](t[i++],t[i++],t[i++],t[i++]);break;case 5:e[o](t[i++],t[i++],t[i++],t[i++],t[i++]);break;case 6:e[o](t[i++],t[i++],t[i++],t[i++],t[i++],t[i++]);break;case 7:e[o](t[i++],t[i++],t[i++],t[i++],t[i++],t[i++],t[i++]);break;case 8:e[o](t[i++],t[i++],t[i++],t[i++],t[i++],t[i++],t[i++],t[i++]);break;case 9:e[o](t[i++],t[i++],t[i++],t[i++],t[i++],t[i++],t[i++],t[i++],t[i++]);break;default:throw"CB0"}}}(e,this.buffer,this.ma,y.I(e.globalAlpha,1))},e.prototype.replay=e.prototype.Na,e.prototype.i=function(){return new e},e.prototype.scratch=e.prototype.i,"arc arcTo beginPath bezierCurveTo clearRect clip closePath drawImage fill fillRect fillText lineTo moveTo putImageData quadraticCurveTo rect rotate scale setLineDash setTransform stroke strokeRect strokeText transform translate".split(" ").forEach((function(n){e.prototype[n]=t(n)})),["measureText","createLinearGradient","createRadialGradient","createPattern","getLineDash"].forEach((function(t){e.prototype[t]=n(t)})),["save","restore"].forEach((function(r){var i=n(r),o=t(r);e.prototype[r]=function(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}(o,i)})),r.forEach((function(t){Object.defineProperty(e.prototype,t,{set:function(e){o[t]=e,this.current[t]=e;var n=this.buffer;n[this.ma++]="set",n[this.ma++]=t,n[this.ma++]=e},get:function(){return this.current[t]}})})),a.forEach((function(t){Object.defineProperty(e.prototype,t,{set:function(e){this.current[t]=e;var n=this.buffer;n[this.ma++]="globalAlpha"===t?"setGlobalAlpha":"set",n[this.ma++]=t,n[this.ma++]=e},get:function(){return this.current[t]}})})),e.prototype.roundRect=function(e,t,n,r,i){Line truncated
//# sourceMappingURL=viewer.js.map</script>
</head>
<body>
<div id="app"></div>
<script>
window.chartData = [{"label":"assets/main.js","isAsset":true,"statSize":12434821,"parsedSize":9962239,"gzipSize":2794965,"groups":[{"label":"node_modules","path":"./node_modules","statSize":5362287,"groups":[{"label":"@babel/runtime","path":"./node_modules/@babel/runtime","statSize":22510,"groups":[{"label":"helpers","path":"./node_modules/@babel/runtime/helpers","statSize":22062,"groups":[{"id":17061,"label":"regeneratorRuntime.js","path":"./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","statSize":14062,"parsedSize":6769,"gzipSize":2473},{"id":18698,"label":"typeof.js","path":"./node_modules/@babel/runtime/helpers/typeof.js","statSize":554,"parsedSize":360,"gzipSize":177},{"label":"esm","path":"./node_modules/@babel/runtime/helpers/esm","statSize":7446,"groups":[{"id":30907,"label":"arrayLikeToArray.js","path":"./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","statSize":200,"parsedSize":146,"gzipSize":143},{"id":83878,"label":"arrayWithHoles.js","path":"./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","statSize":86,"parsedSize":83,"gzipSize":97},{"id":45057,"label":"arrayWithoutHoles.js","path":"./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","statSize":161,"parsedSize":107,"gzipSize":118},{"id":97326,"label":"assertThisInitialized.js","path":"./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","statSize":191,"parsedSize":163,"gzipSize":148},{"id":15861,"label":"asyncToGenerator.js","path":"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","statSize":780,"parsedSize":356,"gzipSize":237},{"id":15671,"label":"classCallCheck.js","path":"./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","statSize":176,"parsedSize":134,"gzipSize":132},{"id":43144,"label":"createClass.js","path":"./node_modules/@babel/runtime/helpers/esm/createClass.js","statSize":719,"parsedSize":339,"gzipSize":245},{"id":61120,"label":"getPrototypeOf.js","path":"./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","statSize":237,"parsedSize":177,"gzipSize":140},{"id":60136,"label":"inherits.js","path":"./node_modules/@babel/runtime/helpers/esm/inherits.js","statSize":564,"parsedSize":341,"gzipSize":254},{"id":59199,"label":"iterableToArray.js","path":"./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","statSize":175,"parsedSize":154,"gzipSize":146},{"id":31902,"label":"iterableToArrayLimit.js","path":"./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","statSize":743,"parsedSize":436,"gzipSize":307},{"id":25267,"label":"nonIterableRest.js","path":"./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","statSize":210,"parsedSize":214,"gzipSize":187},{"id":64742,"label":"nonIterableSpread.js","path":"./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","statSize":207,"parsedSize":209,"gzipSize":182},{"id":82963,"label":"possibleConstructorReturn.js","path":"./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","statSize":417,"parsedSize":255,"gzipSize":213},{"id":89611,"label":"setPrototypeOf.js","path":"./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","statSize":229,"parsedSize":161,"gzipSize":134},{"id":93324,"label":"slicedToArray.js","path":"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","statSize":409,"parsedSize":161,"gzipSize":144},{"id":89062,"label":"toConsumableArray.js","path":"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","statSize":404,"parsedSize":155,"gzipSize":136},{"id":35512,"label":"toPrimitive.js","path":"./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","statSize":453,"parsedSize":328,"gzipSize":248},{"id":67343,"label":"toPropertyKey.js","path":"./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","statSize":222,"parsedSize":147,"gzipSize":143},{"id":71002,"label":"typeof.js","path":"./node_modules/@babel/runtime/helpers/esm/typeof.js","statSize":368,"parsedSize":270,"gzipSize":163},{"id":40181,"label":"unsupportedIterableToArray.js","path":"./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","statSize":495,"parsedSize":353,"gzipSize":270}],"parsedSize":4689,"gzipSize":1548}],"parsedSize":11818,"gzipSize":3804},{"label":"regenerator","path":"./node_modules/@babel/runtime/regenerator","statSize":448,"groups":[{"id":64687,"label":"index.js","path":"./node_modules/@babel/runtime/regenerator/index.js","statSize":448,"parsedSize":176,"gzipSize":146}],"parsedSize":176,"gzipSize":146}],"parsedSize":11994,"gzipSize":3869},{"label":"base64-js","path":"./node_modules/base64-js","statSize":3932,"groups":[{"id":79742,"label":"index.js","path":"./node_modules/base64-js/index.js","statSize":3932,"parsedSize":1394,"gzipSize":748}],"parsedSize":1394,"gzipSize":748},{"label":"buffer","path":"./node_modules/buffer","statSize":58353,"groups":[{"id":48764,"label":"index.js","path":"./node_modules/buffer/index.js","statSize":58353,"parsedSize":24980,"gzipSize":7053}],"parsedSize":24980,"gzipSize":7Line truncated
window.entrypoints = ["main","modules/Bletchley","modules/Charts","modules/Ciphers","modules/Code","modules/Compression","modules/Crypto","modules/Diff","modules/Encodings","modules/Hashing","modules/Image","modules/OCR","modules/PGP","modules/Protobuf","modules/PublicKey","modules/Regex","modules/Serialise","modules/Shellcode","modules/URL","modules/UserAgent","modules/Yara"];
window.defaultSizes = "parsed";
</script>
</body>
</html>
+46
View File
@@ -0,0 +1,46 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at oss@gchq.gov.uk. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
-687
View File
@@ -1,687 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
/**
*
* @licstart The following is the entire license notice for the JavaScript code in this file.
*
* Plugin for loglevel which allows defining prefixes for log messages
*
* Copyright (c) 2015-2016 University Of Helsinki (The National Library Of Finland)
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* @licend The above is the entire license notice
* for the JavaScript code in this file.
*
**/
/**
*
* @licstart The following is the entire license notice for the JavaScript code in this file.
*
* ES6 polyfills that use native implementation if available and do not pollute the global namespace
o*
* Copyright (c) 2015-2016 University Of Helsinki (The National Library Of Finland)
*
* This file is part of es6-polyfills
*
* es6-polyfills is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @licend The above is the entire license notice
* for the JavaScript code in this page.
*
**/
/**
* @author Dachande663 [dachande663@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author Daniel Temkin [http://danieltemkin.com]
* @author Thomas Leplus [https://www.leplus.org]
* @copyright Crown Copyright 2021
* @license Apache-2.0
*/
/**
* @author GCHQ Contributor [2]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author GCHQ Contributor [3]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author George O [georgeomnet+cyberchef@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author Jarmo van Lenthe [github.com/jarmovanlenthe]
* @copyright Jarmo van Lenthe
* @license Apache-2.0
*/
/**
* @author Karsten Silkenbäumer [github.com/kassi]
* @copyright Karsten Silkenbäumer 2019
* @license Apache-2.0
*/
/**
* @author Klaxon [klaxon@veyr.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author Mark Jones [github.com/justanothermark]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author MarvinJWendt [git@marvinjwendt.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
/**
* @author Matt C [me@mitt.dev]
* @copyright Crown Copyright 2020
* @license Apache-2.0
*/
/**
* @author MikeCAT
* @license Apache-2.0
*/
/**
* @author PenguinGeorge [george@penguingeorge.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author Thomas Weißschuh [thomas@t-8ch.de]
* @copyright Crown Copyright 2021
* @license Apache-2.0
*/
/**
* @author Unknown Male 282
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author Vel0x [dalemy@microsoft.com]
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author anthony-arnold [anthony.arnold@uqconnect.edu.au]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author arnydo [arnydo@protonmail.com]
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author bmwhitn [brian.m.whitney@outlook.com]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
/**
* @author bwhitn [brian.m.whitney@outlook.com]
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author bwhitn [brian.m.whitney@outlook.com]
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author bwhitn [brian.m.whitney@outlook.com]
* @author d98762625 [d98762625@gmailcom]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author gchq77703 []
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author gchq77703 [gchq77703@gchq.gov.uk]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author h345983745
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author h345983745 []
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author j433866 [j433866@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author joostrijneveld [joost@joostrijneveld.nl]
* @copyright Crown Copyright 2022
* @license Apache-2.0
*/
/**
* @author klaxon [klaxon@veyr.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author masq [github.cyberchef@masq.cc]
* @author n1073645
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author masq [github.cyberchef@masq.cc]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author mikecat
* @copyright Crown Copyright 2022
* @license Apache-2.0
*/
/**
* @author mikecat
* @copyright Crown Copyright 2023
* @license Apache-2.0
*/
/**
* @author n1073645 [n1073645@gmail.com]
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2020
* @license Apache-2.0
*/
/**
* @author n1073645 [n1073645@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1073645 [n1073645@gmail.com]
* @copyright Crown Copyright 2020
* @license Apache-2.0
*/
/**
* @author n1073645 [n1073645@gmail.com]
* @copyright Crown Copyright 2022
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Klaxon [klaxon@veyr.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author cplussharp
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2021
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2022
* @license Apache-2.0
*/
/**
* @author sevzero [sevzero@protonmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author tcode2k16 [tcode2k16@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author tlwr [toby@toby.codes]
* @author Matt C [me@mitt.dev]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author tlwr [toby@toby.codes]
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
/**
* Base45 resources.
*
* @author Thomas Weißschuh [thomas@t-8ch.de]
* @copyright Crown Copyright 2021
* @license Apache-2.0
*/
/**
* Base58 resources.
*
* @author tlwr [toby@toby.codes]
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Base85 resources.
*
* @author PenguinGeorge [george@penguingeorge.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Binary Code Decimal resources.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
/**
* Binary functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Bit rotation functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* @todo Support for UTF16
*/
/**
* Bitwise operation resources.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Braille resources.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Flow control functions
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Hexadecimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* IP resources.
*
* @author picapi
* @author n1474335 [n1474335@gmail.com]
* @author Klaxon [klaxon@veyr.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Lorem Ipsum generator.
*
* @author Klaxon [klaxon@veyr.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Parser for Type-length-value data.
*
* @author gchq77703 []
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Protobuf lib. Contains functions to decode protobuf serialised
* data without a schema or .proto file.
*
* Provides utility functions to encode and decode variable length
* integers (varint).
*
* @author GCHQ Contributor [3]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* Protocol parsing functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2022
* @license Apache-2.0
*/
/**
* Some parts taken from mimelib (http://github.com/andris9/mimelib)
* @author Andris Reinman
* @license MIT
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Sorting functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2022
* @license Apache-2.0
*
*/
/**
* Various delimiters
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Web Worker to handle communications between the front-end and the core.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
/**
* THIS FILE IS AUTOMATICALLY GENERATED BY src/core/config/scripts/generateConfig.mjs
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2023
* @license Apache-2.0
*/
/** @license
========================================================================
mimelib: http://github.com/andris9/mimelib
Copyright (c) 2011-2012 Andris Reinman
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
//! Copyright (c) JS Foundation and other contributors
//! github.com/moment/moment-timezone
//! license : MIT
//! moment-timezone.js
//! moment.js
//! moment.js locale configuration
//! version : 0.5.41
Binary file not shown.
-177
View File
@@ -1,177 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! cptable.js (C) 2013-present SheetJS -- http://sheetjs.com */
/*! cputils.js (C) 2013-present SheetJS -- http://sheetjs.com */
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
*
* @licstart The following is the entire license notice for the JavaScript code in this file.
*
* Plugin for loglevel which allows defining prefixes for log messages
*
* Copyright (c) 2015-2016 University Of Helsinki (The National Library Of Finland)
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* @licend The above is the entire license notice
* for the JavaScript code in this file.
*
**/
/**
*
* @licstart The following is the entire license notice for the JavaScript code in this file.
*
* ES6 polyfills that use native implementation if available and do not pollute the global namespace
o*
* Copyright (c) 2015-2016 University Of Helsinki (The National Library Of Finland)
*
* This file is part of es6-polyfills
*
* es6-polyfills is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @licend The above is the entire license notice
* for the JavaScript code in this page.
*
**/
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Web worker to handle dish conversion operations.
*
* @author j433866 [j433866@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
Executable
+408
View File
@@ -0,0 +1,408 @@
"use strict";
const webpack = require("webpack");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const NodeExternals = require("webpack-node-externals");
const Inliner = require("web-resource-inliner");
const fs = require("fs");
/**
* Grunt configuration for building the app in various formats.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
module.exports = function (grunt) {
grunt.file.defaultEncoding = "utf8";
grunt.file.preserveBOM = false;
// Tasks
grunt.registerTask("dev",
"A persistent task which creates a development build whenever source files are modified.",
["clean:dev", "concurrent:dev"]);
grunt.registerTask("node",
"Compiles CyberChef into a single NodeJS module.",
["clean:node", "webpack:metaConf", "webpack:node", "chmod:build"]);
grunt.registerTask("test",
"A task which runs all the tests in test/tests.",
["clean:test", "webpack:metaConf", "webpack:tests", "execute:test"]);
grunt.registerTask("docs",
"Compiles documentation in the /docs directory.",
["clean:docs", "jsdoc", "chmod:docs"]);
grunt.registerTask("prod",
"Creates a production-ready build. Use the --msg flag to add a compile message.",
["eslint", "clean:prod", "webpack:metaConf", "webpack:web", "inline", "chmod"]);
grunt.registerTask("default",
"Lints the code base",
["eslint", "exec:repoSize"]);
grunt.registerTask("inline",
"Compiles a production build of CyberChef into a single, portable web page.",
["webpack:webInline", "runInliner", "clean:inlineScripts"]);
grunt.registerTask("runInliner", runInliner);
grunt.registerTask("doc", "docs");
grunt.registerTask("tests", "test");
grunt.registerTask("lint", "eslint");
// Load tasks provided by each plugin
grunt.loadNpmTasks("grunt-eslint");
grunt.loadNpmTasks("grunt-webpack");
grunt.loadNpmTasks("grunt-jsdoc");
grunt.loadNpmTasks("grunt-contrib-clean");
grunt.loadNpmTasks("grunt-contrib-copy");
grunt.loadNpmTasks("grunt-chmod");
grunt.loadNpmTasks("grunt-exec");
grunt.loadNpmTasks("grunt-execute");
grunt.loadNpmTasks("grunt-accessibility");
grunt.loadNpmTasks("grunt-concurrent");
// Project configuration
const compileTime = grunt.template.today("UTC:dd/mm/yyyy HH:MM:ss") + " UTC",
pkg = grunt.file.readJSON("package.json"),
webpackConfig = require("./webpack.config.js"),
BUILD_CONSTANTS = {
COMPILE_TIME: JSON.stringify(compileTime),
COMPILE_MSG: JSON.stringify(grunt.option("compile-msg") || grunt.option("msg") || ""),
PKG_VERSION: JSON.stringify(pkg.version),
ENVIRONMENT_IS_WORKER: function() {
return typeof importScripts === "function";
},
ENVIRONMENT_IS_NODE: function() {
return typeof process === "object" && typeof require === "function";
},
ENVIRONMENT_IS_WEB: function() {
return typeof window === "object";
}
},
moduleEntryPoints = listEntryModules();
/**
* Compiles a production build of CyberChef into a single, portable web page.
*/
function runInliner() {
const done = this.async();
Inliner.html({
relativeTo: "build/prod/",
fileContent: grunt.file.read("build/prod/cyberchef.htm"),
images: true,
svgs: true,
scripts: true,
links: true,
strict: true
}, function(error, result) {
if (error) {
if (error instanceof Error) {
done(error);
} else {
done(new Error(error));
}
} else {
grunt.file.write("build/prod/cyberchef.htm", result);
done(true);
}
});
}
/**
* Generates an entry list for all the modules.
*/
function listEntryModules() {
const path = "./src/core/config/modules/";
let entryModules = {};
fs.readdirSync(path).forEach(file => {
if (file !== "Default.js" && file !== "OpModules.js")
entryModules[file.split(".js")[0]] = path + file;
});
return entryModules;
}
grunt.initConfig({
clean: {
dev: ["build/dev/*", "src/core/config/MetaConfig.js"],
prod: ["build/prod/*", "src/core/config/MetaConfig.js"],
test: ["build/test/*", "src/core/config/MetaConfig.js"],
node: ["build/node/*", "src/core/config/MetaConfig.js"],
docs: ["docs/*", "!docs/*.conf.json", "!docs/*.ico", "!docs/*.png"],
inlineScripts: ["build/prod/scripts.js"],
},
eslint: {
options: {
configFile: "./.eslintrc.json"
},
configs: ["Gruntfile.js"],
core: ["src/core/**/*.js", "!src/core/lib/**/*", "!src/core/config/MetaConfig.js"],
web: ["src/web/**/*.js"],
node: ["src/node/**/*.js"],
tests: ["test/**/*.js"],
},
jsdoc: {
options: {
destination: "docs",
template: "node_modules/ink-docstrap/template",
recurse: true,
readme: "./README.md",
configure: "docs/jsdoc.conf.json"
},
all: {
src: [
"src/**/*.js",
"!src/core/lib/**/*",
"!src/core/config/MetaConfig.js"
],
}
},
concurrent: {
options: {
logConcurrentOutput: true
},
dev: ["webpack:metaConfDev", "webpack-dev-server:start"]
},
accessibility: {
options: {
accessibilityLevel: "WCAG2A",
verbose: false,
ignore: [
"WCAG2A.Principle1.Guideline1_3.1_3_1.H42.2"
]
},
test: {
src: ["build/**/*.html"]
}
},
webpack: {
options: webpackConfig,
metaConf: {
target: "node",
entry: "./src/core/config/OperationConfig.js",
output: {
filename: "MetaConfig.js",
path: __dirname + "/src/core/config/",
library: "MetaConfig",
libraryTarget: "commonjs2",
libraryExport: "default"
},
externals: [NodeExternals()],
},
metaConfDev: {
target: "node",
entry: "./src/core/config/OperationConfig.js",
output: {
filename: "MetaConfig.js",
path: __dirname + "/src/core/config/",
library: "MetaConfig",
libraryTarget: "commonjs2",
libraryExport: "default"
},
externals: [NodeExternals()],
watch: true
},
web: {
target: "web",
entry: Object.assign({
main: "./src/web/index.js"
}, moduleEntryPoints),
output: {
path: __dirname + "/build/prod"
},
resolve: {
alias: {
"./config/modules/OpModules.js": "./config/modules/Default.js"
}
},
plugins: [
new webpack.DefinePlugin(BUILD_CONSTANTS),
new webpack.optimize.UglifyJsPlugin({
compress: {
"screw_ie8": true,
"dead_code": true,
"unused": true,
"warnings": false
},
comments: false,
}),
new HtmlWebpackPlugin({
filename: "index.html",
template: "./src/web/html/index.html",
chunks: ["main"],
compileTime: compileTime,
version: pkg.version,
minify: {
removeComments: true,
collapseWhitespace: true,
minifyJS: true,
minifyCSS: true
}
}),
]
},
webInline: {
target: "web",
entry: "./src/web/index.js",
output: {
filename: "scripts.js",
path: __dirname + "/build/prod"
},
plugins: [
new webpack.DefinePlugin(BUILD_CONSTANTS),
new webpack.optimize.UglifyJsPlugin({
compress: {
"screw_ie8": true,
"dead_code": true,
"unused": true,
"warnings": false
},
comments: false,
}),
new HtmlWebpackPlugin({
filename: "cyberchef.htm",
template: "./src/web/html/index.html",
compileTime: compileTime,
version: pkg.version,
inline: true,
minify: {
removeComments: true,
collapseWhitespace: true,
minifyJS: true,
minifyCSS: true
}
}),
]
},
tests: {
target: "node",
entry: "./test/index.js",
externals: [NodeExternals()],
output: {
filename: "index.js",
path: __dirname + "/build/test"
},
plugins: [
new webpack.DefinePlugin(BUILD_CONSTANTS)
]
},
node: {
target: "node",
entry: "./src/node/index.js",
externals: [NodeExternals()],
output: {
filename: "CyberChef.js",
path: __dirname + "/build/node",
library: "CyberChef",
libraryTarget: "commonjs2"
},
plugins: [
new webpack.DefinePlugin(BUILD_CONSTANTS)
]
}
},
"webpack-dev-server": {
options: {
webpack: webpackConfig,
host: "0.0.0.0",
disableHostCheck: true,
overlay: true,
inline: false,
clientLogLevel: "error",
stats: {
children: false,
chunks: false,
modules: false,
warningsFilter: /source-map/,
}
},
start: {
webpack: {
target: "web",
entry: Object.assign({
main: "./src/web/index.js"
}, moduleEntryPoints),
resolve: {
alias: {
"./config/modules/OpModules.js": "./config/modules/Default.js"
}
},
plugins: [
new webpack.DefinePlugin(BUILD_CONSTANTS),
new HtmlWebpackPlugin({
filename: "index.html",
template: "./src/web/html/index.html",
chunks: ["main"],
compileTime: compileTime,
version: pkg.version,
})
]
}
}
},
copy: {
ghPages: {
options: {
process: function (content, srcpath) {
// Add Google Analytics code to index.html
if (srcpath.indexOf("index.html") >= 0) {
content = content.replace("</body></html>",
grunt.file.read("src/web/static/ga.html") + "</body></html>");
return grunt.template.process(content, srcpath);
} else {
return content;
}
},
noProcess: ["**", "!**/*.html"]
},
files: [
{
src: "build/prod/index.html",
dest: "build/prod/index.html"
},
{
expand: true,
src: "docs/**",
dest: "build/prod/"
}
]
}
},
chmod: {
build: {
options: {
mode: "755",
},
src: ["build/**/*", "build/"]
},
docs: {
options: {
mode: "755",
},
src: ["docs/**/*", "docs/"]
}
},
exec: {
repoSize: {
command: [
"git ls-files | wc -l | xargs printf '\n%b\ttracked files\n'",
"du -hs | egrep -o '^[^\t]*' | xargs printf '%b\trepository size\n'"
].join(";"),
stderr: false
},
cleanGit: {
command: "git gc --prune=now --aggressive"
},
},
execute: {
test: "build/test/index.js"
},
});
};
-125
View File
@@ -1,125 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
*
* @licstart The following is the entire license notice for the JavaScript code in this file.
*
* Plugin for loglevel which allows defining prefixes for log messages
*
* Copyright (c) 2015-2016 University Of Helsinki (The National Library Of Finland)
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* @licend The above is the entire license notice
* for the JavaScript code in this file.
*
**/
/**
*
* @licstart The following is the entire license notice for the JavaScript code in this file.
*
* ES6 polyfills that use native implementation if available and do not pollute the global namespace
o*
* Copyright (c) 2015-2016 University Of Helsinki (The National Library Of Finland)
*
* This file is part of es6-polyfills
*
* es6-polyfills is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @licend The above is the entire license notice
* for the JavaScript code in this page.
*
**/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Web worker to handle the inputs.
* Handles storage, modification and retrieval of the inputs.
*
* @author j433866 [j433866@gmail.com]
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
Executable
+202
View File
@@ -0,0 +1,202 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-87
View File
@@ -1,87 +0,0 @@
/**
*
* @licstart The following is the entire license notice for the JavaScript code in this file.
*
* Plugin for loglevel which allows defining prefixes for log messages
*
* Copyright (c) 2015-2016 University Of Helsinki (The National Library Of Finland)
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* @licend The above is the entire license notice
* for the JavaScript code in this file.
*
**/
/**
*
* @licstart The following is the entire license notice for the JavaScript code in this file.
*
* ES6 polyfills that use native implementation if available and do not pollute the global namespace
o*
* Copyright (c) 2015-2016 University Of Helsinki (The National Library Of Finland)
*
* This file is part of es6-polyfills
*
* es6-polyfills is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @licend The above is the entire license notice
* for the JavaScript code in this page.
*
**/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Web Worker to load large amounts of data without locking up the UI.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
Executable
+97
View File
@@ -0,0 +1,97 @@
# CyberChef
[![Build Status](https://travis-ci.org/gchq/CyberChef.svg?branch=master)](https://travis-ci.org/gchq/CyberChef)
[![npm](https://badge.fury.io/js/cyberchef.svg)](https://www.npmjs.com/package/cyberchef)
![](https://reposs.herokuapp.com/?path=gchq/CyberChef&color=brightgreen)
#### *The Cyber Swiss Army Knife*
CyberChef is a simple, intuitive web app for carrying out all manner of "cyber" operations within a web browser. These operations include simple encoding like XOR or Base64, more complex encryption like AES, DES and Blowfish, creating binary and hexdumps, compression and decompression of data, calculating hashes and checksums, IPv6 and X.509 parsing, changing character encodings, and much more.
The tool is designed to enable both technical and non-technical analysts to manipulate data in complex ways without having to deal with complex tools or algorithms. It was conceived, designed, built and incrementally improved by an analyst in their 10% innovation time over several years. Every effort has been made to structure the code in a readable and extendable format, however it should be noted that the analyst is not a professional developer.
## Live demo
CyberChef is still under active development. As a result, it shouldn't be considered a finished product. There is still testing and bug fixing to do, new features to be added and additional documentation to write. Please contribute!
Cryptographic operations in CyberChef should not be relied upon to provide security in any situation. No guarantee is offered for their correctness.
[A live demo can be found here][1] - have fun!
## How it works
There are four main areas in CyberChef:
1. The **input** box in the top right, where you can paste, type or drag the data you want to operate on.
2. The **output** box in the bottom right, where the outcome of your processing will be displayed.
3. The **operations** list on the far left, where you can find all the operations that CyberChef is capable of in categorised lists, or by searching.
4. The **recipe** area in the middle, where you can drag the operations that you want to use and specify arguments and options.
You can use as many operations as you like in simple or complex ways. Some examples are as follows:
- [Decode a Base64-encoded string][2]
- [Convert a date and time to a different time zone][3]
- [Parse a Teredo IPv6 address][4]
- [Convert data from a hexdump, then decompress][5]
- [Display multiple timestamps as full dates][6]
- [Carry out different operations on data of different types][7]
## Features
- Drag and drop
- Operations can be dragged in and out of the recipe list, or reorganised.
- Files can be dragged over the input box to load them directly.
- Auto Bake
- Whenever you modify the input or the recipe, CyberChef will automatically “bake” for you and produce the output immediately.
- This can be turned off and operated manually if it is affecting performance (if the input is very large, for instance).
- If any bake takes longer than 200 milliseconds, auto bake will be switched off automatically to prevent further performance issues.
- Breakpoints
- You can set breakpoints on any operation in your recipe to pause execution before running it.
- You can also step through the recipe one operation at a time to see what the data looks like at each stage.
- Save and load recipes
- If you come up with an awesome recipe that you know you’ll want to use again, just click save and add it to your local storage. It'll be waiting for you next time you visit CyberChef.
- You can also copy a URL which includes your recipe and input which can be shared with others.
- Search
- If you know the name of the operation you want or a word associated with it, start typing it into the search field and any matching operations will immediately be shown.
- Highlighting
- When you highlight text in the input or output, the offset and length values will be displayed and, if possible, the corresponding data will be highlighted in the output or input respectively (example: [highlight the word 'question' in the input to see where it appears in the output][8]).
- Save to file and load from file
- You can save the output to a file at any time or load a file by dragging and dropping it into the input field (note that files larger than about 500kb may cause your browser to hang or even crash due to the way that browsers handle large amounts of textual data).
- CyberChef is entirely client-side
- It should be noted that none of your input or recipe configuration is ever sent to the CyberChef web server - all processing is carried out within your browser, on your own computer.
- Due to this feature, CyberChef can be compiled into a single HTML file. You can download this file and drop it into a virtual machine, share it with other people, or use it independently on your desktop.
## Browser support
CyberChef is built to support
- Google Chrome 40+
- Mozilla Firefox 35+
- Microsoft Edge 14+
## Contributing
An installation walkthrough, how-to guides for adding new operations and themes, descriptions of the repository structure, available data types and coding conventions can all be found in the project [wiki pages](https://github.com/gchq/CyberChef/wiki).
- Sign the [GCHQ Contributor Licence Agreement](https://github.com/gchq/Gaffer/wiki/GCHQ-OSS-Contributor-License-Agreement-V1.0)
- Push your changes to your fork.
- Submit a pull request.
## Licencing
CyberChef is released under the [Apache 2.0 Licence](https://www.apache.org/licenses/LICENSE-2.0) and is covered by [Crown Copyright](https://www.nationalarchives.gov.uk/information-management/re-using-public-sector-information/copyright-and-re-use/crown-copyright/).
[1]: https://gchq.github.io/CyberChef
[2]: https://gchq.github.io/CyberChef/#recipe=From_Base64('A-Za-z0-9%2B/%3D',true)&input=VTI4Z2JHOXVaeUJoYm1RZ2RHaGhibXR6SUdadmNpQmhiR3dnZEdobElHWnBjMmd1
[3]: https://gchq.github.io/CyberChef/#recipe=Translate_DateTime_Format('Standard%20date%20and%20time','DD/MM/YYYY%20HH:mm:ss','UTC','dddd%20Do%20MMMM%20YYYY%20HH:mm:ss%20Z%20z','Australia/Queensland')&input=MTUvMDYvMjAxNSAyMDo0NTowMA
[4]: https://gchq.github.io/CyberChef/#recipe=Parse_IPv6_address()&input=MjAwMTowMDAwOjQxMzY6ZTM3ODo4MDAwOjYzYmY6M2ZmZjpmZGQy
[5]: https://gchq.github.io/CyberChef/#recipe=From_Hexdump()Gunzip()&input=MDAwMDAwMDAgIDFmIDhiIDA4IDAwIDEyIGJjIGYzIDU3IDAwIGZmIDBkIGM3IGMxIDA5IDAwIDIwICB8Li4uLi6881cu/y7HwS4uIHwKMDAwMDAwMTAgIDA4IDA1IGQwIDU1IGZlIDA0IDJkIGQzIDA0IDFmIGNhIDhjIDQ0IDIxIDViIGZmICB8Li7QVf4uLdMuLsouRCFb/3wKMDAwMDAwMjAgIDYwIGM3IGQ3IDAzIDE2IGJlIDQwIDFmIDc4IDRhIDNmIDA5IDg5IDBiIDlhIDdkICB8YMfXLi6%2BQC54Sj8uLi4ufXwKMDAwMDAwMzAgIDRlIGM4IDRlIDZkIDA1IDFlIDAxIDhiIDRjIDI0IDAwIDAwIDAwICAgICAgICAgICB8TshObS4uLi5MJC4uLnw
[6]: https://gchq.github.io/CyberChef/#recipe=Fork('%5C%5Cn','%5C%5Cn',false)From_UNIX_Timestamp('Seconds%20(s)')&input=OTc4MzQ2ODAwCjEwMTI2NTEyMDAKMTA0NjY5NjQwMAoxMDgxMDg3MjAwCjExMTUzMDUyMDAKMTE0OTYwOTYwMA
[7]: https://gchq.github.io/CyberChef/#recipe=Fork('%5C%5Cn','%5C%5Cn',false)Conditional_Jump('1',2,10)To_Hex('Space')Return()To_Base64('A-Za-z0-9%2B/%3D')&input=U29tZSBkYXRhIHdpdGggYSAxIGluIGl0ClNvbWUgZGF0YSB3aXRoIGEgMiBpbiBpdA
[8]: https://gchq.github.io/CyberChef/#recipe=XOR(%7B'option':'Hex','string':'3a'%7D,'',false)To_Hexdump(16,false,false)&input=VGhlIGFuc3dlciB0byB0aGUgdWx0aW1hdGUgcXVlc3Rpb24gb2YgbGlmZSwgdGhlIFVuaXZlcnNlLCBhbmQgZXZlcnl0aGluZyBpcyA0Mi4
-175
View File
@@ -1,175 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
*
* @licstart The following is the entire license notice for the JavaScript code in this file.
*
* Plugin for loglevel which allows defining prefixes for log messages
*
* Copyright (c) 2015-2016 University Of Helsinki (The National Library Of Finland)
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* @licend The above is the entire license notice
* for the JavaScript code in this file.
*
**/
/**
*
* @licstart The following is the entire license notice for the JavaScript code in this file.
*
* ES6 polyfills that use native implementation if available and do not pollute the global namespace
o*
* Copyright (c) 2015-2016 University Of Helsinki (The National Library Of Finland)
*
* This file is part of es6-polyfills
*
* es6-polyfills is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @licend The above is the entire license notice
* for the JavaScript code in this page.
*
**/
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Web Worker to handle zipping the outputs for download.
*
* @author j433866 [j433866@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/** @license zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License */
Binary file not shown.
-485
View File
@@ -1,485 +0,0 @@
info face="Roboto" size=72 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=1,1,1,1 spacing=-2,-2
common lineHeight=85 base=67 scaleW=512 scaleH=512 pages=1 packed=0
page id=0 file="Roboto72White.png"
chars count=98
char id=0 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=66 xadvance=0 page=0 chnl=0
char id=10 x=0 y=0 width=70 height=99 xoffset=2 yoffset=-11 xadvance=74 page=0 chnl=0
char id=32 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=66 xadvance=18 page=0 chnl=0
char id=33 x=493 y=99 width=10 height=55 xoffset=5 yoffset=14 xadvance=19 page=0 chnl=0
char id=34 x=446 y=319 width=16 height=19 xoffset=4 yoffset=12 xadvance=23 page=0 chnl=0
char id=35 x=204 y=265 width=41 height=54 xoffset=3 yoffset=14 xadvance=44 page=0 chnl=0
char id=36 x=269 y=0 width=35 height=69 xoffset=3 yoffset=6 xadvance=40 page=0 chnl=0
char id=37 x=31 y=155 width=48 height=56 xoffset=3 yoffset=13 xadvance=53 page=0 chnl=0
char id=38 x=79 y=155 width=43 height=56 xoffset=3 yoffset=13 xadvance=45 page=0 chnl=0
char id=39 x=503 y=99 width=7 height=19 xoffset=3 yoffset=12 xadvance=13 page=0 chnl=0
char id=40 x=70 y=0 width=21 height=78 xoffset=4 yoffset=7 xadvance=25 page=0 chnl=0
char id=41 x=91 y=0 width=22 height=78 xoffset=-1 yoffset=7 xadvance=25 page=0 chnl=0
char id=42 x=342 y=319 width=32 height=32 xoffset=-1 yoffset=14 xadvance=31 page=0 chnl=0
char id=43 x=242 y=319 width=37 height=40 xoffset=2 yoffset=23 xadvance=41 page=0 chnl=0
char id=44 x=433 y=319 width=13 height=21 xoffset=-1 yoffset=58 xadvance=14 page=0 chnl=0
char id=45 x=27 y=360 width=19 height=8 xoffset=0 yoffset=41 xadvance=19 page=0 chnl=0
char id=46 x=17 y=360 width=10 height=11 xoffset=4 yoffset=58 xadvance=19 page=0 chnl=0
char id=47 x=355 y=0 width=30 height=58 xoffset=-1 yoffset=14 xadvance=30 page=0 chnl=0
char id=48 x=449 y=99 width=34 height=56 xoffset=3 yoffset=13 xadvance=40 page=0 chnl=0
char id=49 x=474 y=211 width=22 height=54 xoffset=5 yoffset=14 xadvance=40 page=0 chnl=0
char id=50 x=195 y=155 width=37 height=55 xoffset=2 yoffset=13 xadvance=41 page=0 chnl=0
char id=51 x=379 y=99 width=35 height=56 xoffset=2 yoffset=13 xadvance=40 page=0 chnl=0
char id=52 x=128 y=265 width=39 height=54 xoffset=1 yoffset=14 xadvance=41 page=0 chnl=0
char id=53 x=232 y=155 width=35 height=55 xoffset=4 yoffset=14 xadvance=40 page=0 chnl=0
char id=54 x=267 y=155 width=35 height=55 xoffset=4 yoffset=14 xadvance=41 page=0 chnl=0
char id=55 x=167 y=265 width=37 height=54 xoffset=2 yoffset=14 xadvance=41 page=0 chnl=0
char id=56 x=414 y=99 width=35 height=56 xoffset=3 yoffset=13 xadvance=40 page=0 chnl=0
char id=57 x=302 y=155 width=34 height=55 xoffset=3 yoffset=13 xadvance=41 page=0 chnl=0
char id=58 x=495 y=265 width=10 height=41 xoffset=4 yoffset=28 xadvance=18 page=0 chnl=0
char id=59 x=496 y=211 width=13 height=52 xoffset=0 yoffset=28 xadvance=15 page=0 chnl=0
char id=60 x=279 y=319 width=31 height=35 xoffset=2 yoffset=27 xadvance=37 page=0 chnl=0
char id=61 x=402 y=319 width=31 height=23 xoffset=4 yoffset=31 xadvance=39 page=0 chnl=0
char id=62 x=310 y=319 width=32 height=35 xoffset=4 yoffset=27 xadvance=38 page=0 chnl=0
char id=63 x=0 y=155 width=31 height=56 xoffset=2 yoffset=13 xadvance=34 page=0 chnl=0
char id=64 x=210 y=0 width=59 height=69 xoffset=3 yoffset=15 xadvance=65 page=0 chnl=0
char id=65 x=336 y=155 width=49 height=54 xoffset=-1 yoffset=14 xadvance=47 page=0 chnl=0
char id=66 x=385 y=155 width=37 height=54 xoffset=5 yoffset=14 xadvance=45 page=0 chnl=0
char id=67 x=0 y=99 width=42 height=56 xoffset=3 yoffset=13 xadvance=46 page=0 chnl=0
char id=68 x=422 y=155 width=39 height=54 xoffset=5 yoffset=14 xadvance=47 page=0 chnl=0
char id=69 x=461 y=155 width=35 height=54 xoffset=5 yoffset=14 xadvance=41 page=0 chnl=0
char id=70 x=0 y=211 width=34 height=54 xoffset=5 yoffset=14 xadvance=40 page=0 chnl=0
char id=71 x=42 y=99 width=42 height=56 xoffset=3 yoffset=13 xadvance=49 page=0 chnl=0
char id=72 x=34 y=211 width=41 height=54 xoffset=5 yoffset=14 xadvance=51 page=0 chnl=0
char id=73 x=496 y=155 width=9 height=54 xoffset=5 yoffset=14 xadvance=19 page=0 chnl=0
char id=74 x=122 y=155 width=34 height=55 xoffset=1 yoffset=14 xadvance=40 page=0 chnl=0
char id=75 x=75 y=211 width=41 height=54 xoffset=5 yoffset=14 xadvance=45 page=0 chnl=0
char id=76 x=116 y=211 width=33 height=54 xoffset=5 yoffset=14 xadvance=39 page=0 chnl=0
char id=77 x=149 y=211 width=53 height=54 xoffset=5 yoffset=14 xadvance=63 page=0 chnl=0
char id=78 x=202 y=211 width=41 height=54 xoffset=5 yoffset=14 xadvance=51 page=0 chnl=0
char id=79 x=84 y=99 width=43 height=56 xoffset=3 yoffset=13 xadvance=49 page=0 chnl=0
char id=80 x=243 y=211 width=39 height=54 xoffset=5 yoffset=14 xadvance=45 page=0 chnl=0
char id=81 x=304 y=0 width=44 height=64 xoffset=3 yoffset=13 xadvance=49 page=0 chnl=0
char id=82 x=282 y=211 width=40 height=54 xoffset=5 yoffset=14 xadvance=45 page=0 chnl=0
char id=83 x=127 y=99 width=39 height=56 xoffset=2 yoffset=13 xadvance=43 page=0 chnl=0
char id=84 x=322 y=211 width=42 height=54 xoffset=1 yoffset=14 xadvance=44 page=0 chnl=0
char id=85 x=156 y=155 width=39 height=55 xoffset=4 yoffset=14 xadvance=47 page=0 chnl=0
char id=86 x=364 y=211 width=47 height=54 xoffset=-1 yoffset=14 xadvance=46 page=0 chnl=0
char id=87 x=411 y=211 width=63 height=54 xoffset=1 yoffset=14 xadvance=64 page=0 chnl=0
char id=88 x=0 y=265 width=44 height=54 xoffset=1 yoffset=14 xadvance=45 page=0 chnl=0
char id=89 x=44 y=265 width=45 height=54 xoffset=-1 yoffset=14 xadvance=43 page=0 chnl=0
char id=90 x=89 y=265 width=39 height=54 xoffset=2 yoffset=14 xadvance=43 page=0 chnl=0
char id=91 x=161 y=0 width=16 height=72 xoffset=4 yoffset=7 xadvance=19 page=0 chnl=0
char id=92 x=385 y=0 width=30 height=58 xoffset=0 yoffset=14 xadvance=30 page=0 chnl=0
char id=93 x=177 y=0 width=16 height=72 xoffset=0 yoffset=7 xadvance=20 page=0 chnl=0
char id=94 x=374 y=319 width=28 height=28 xoffset=1 yoffset=14 xadvance=30 page=0 chnl=0
char id=95 x=46 y=360 width=34 height=8 xoffset=0 yoffset=65 xadvance=34 page=0 chnl=0
char id=96 x=0 y=360 width=17 height=13 xoffset=1 yoffset=11 xadvance=22 page=0 chnl=0
char id=97 x=268 y=265 width=34 height=42 xoffset=3 yoffset=27 xadvance=39 page=0 chnl=0
char id=98 x=415 y=0 width=34 height=57 xoffset=4 yoffset=12 xadvance=40 page=0 chnl=0
char id=99 x=302 y=265 width=34 height=42 xoffset=2 yoffset=27 xadvance=38 page=0 chnl=0
char id=100 x=449 y=0 width=34 height=57 xoffset=2 yoffset=12 xadvance=40 page=0 chnl=0
char id=101 x=336 y=265 width=34 height=42 xoffset=2 yoffset=27 xadvance=38 page=0 chnl=0
char id=102 x=483 y=0 width=25 height=57 xoffset=1 yoffset=11 xadvance=26 page=0 chnl=0
char id=103 x=166 y=99 width=34 height=56 xoffset=2 yoffset=27 xadvance=40 page=0 chnl=0
char id=104 x=200 y=99 width=32 height=56 xoffset=4 yoffset=12 xadvance=40 page=0 chnl=0
char id=105 x=483 y=99 width=10 height=55 xoffset=4 yoffset=13 xadvance=18 page=0 chnl=0
char id=106 x=193 y=0 width=17 height=71 xoffset=-4 yoffset=13 xadvance=17 page=0 chnl=0
char id=107 x=232 y=99 width=34 height=56 xoffset=4 yoffset=12 xadvance=37 page=0 chnl=0
char id=108 x=266 y=99 width=9 height=56 xoffset=4 yoffset=12 xadvance=17 page=0 chnl=0
char id=109 x=439 y=265 width=56 height=41 xoffset=4 yoffset=27 xadvance=64 page=0 chnl=0
char id=110 x=0 y=319 width=32 height=41 xoffset=4 yoffset=27 xadvance=40 page=0 chnl=0
char id=111 x=370 y=265 width=37 height=42 xoffset=2 yoffset=27 xadvance=41 page=0 chnl=0
char id=112 x=275 y=99 width=34 height=56 xoffset=4 yoffset=27 xadvance=40 page=0 chnl=0
char id=113 x=309 y=99 width=34 height=56 xoffset=2 yoffset=27 xadvance=41 page=0 chnl=0
char id=114 x=32 y=319 width=21 height=41 xoffset=4 yoffset=27 xadvance=25 page=0 chnl=0
char id=115 x=407 y=265 width=32 height=42 xoffset=2 yoffset=27 xadvance=37 page=0 chnl=0
char id=116 x=245 y=265 width=23 height=51 xoffset=0 yoffset=18 xadvance=25 page=0 chnl=0
char id=117 x=53 y=319 width=32 height=41 xoffset=4 yoffset=28 xadvance=40 page=0 chnl=0
char id=118 x=85 y=319 width=35 height=40 xoffset=0 yoffset=28 xadvance=35 page=0 chnl=0
char id=119 x=120 y=319 width=54 height=40 xoffset=0 yoffset=28 xadvance=54 page=0 chnl=0
char id=120 x=174 y=319 width=36 height=40 xoffset=0 yoffset=28 xadvance=36 page=0 chnl=0
char id=121 x=343 y=99 width=36 height=56 xoffset=-1 yoffset=28 xadvance=34 page=0 chnl=0
char id=122 x=210 y=319 width=32 height=40 xoffset=2 yoffset=28 xadvance=35 page=0 chnl=0
char id=123 x=113 y=0 width=24 height=73 xoffset=1 yoffset=9 xadvance=25 page=0 chnl=0
char id=124 x=348 y=0 width=7 height=63 xoffset=5 yoffset=14 xadvance=17 page=0 chnl=0
char id=125 x=137 y=0 width=24 height=73 xoffset=-1 yoffset=9 xadvance=24 page=0 chnl=0
char id=126 x=462 y=319 width=42 height=16 xoffset=4 yoffset=38 xadvance=50 page=0 chnl=0
char id=127 x=0 y=0 width=70 height=99 xoffset=2 yoffset=-11 xadvance=74 page=0 chnl=0
kernings count=382
kerning first=70 second=74 amount=-9
kerning first=34 second=97 amount=-2
kerning first=34 second=101 amount=-2
kerning first=34 second=113 amount=-2
kerning first=34 second=99 amount=-2
kerning first=70 second=99 amount=-1
kerning first=88 second=113 amount=-1
kerning first=84 second=46 amount=-8
kerning first=84 second=119 amount=-2
kerning first=87 second=97 amount=-1
kerning first=90 second=117 amount=-1
kerning first=39 second=97 amount=-2
kerning first=69 second=111 amount=-1
kerning first=87 second=41 amount=1
kerning first=76 second=86 amount=-6
kerning first=121 second=34 amount=1
kerning first=40 second=86 amount=1
kerning first=85 second=65 amount=-1
kerning first=89 second=89 amount=1
kerning first=72 second=65 amount=1
kerning first=104 second=39 amount=-4
kerning first=114 second=102 amount=1
kerning first=89 second=42 amount=-2
kerning first=114 second=34 amount=1
kerning first=84 second=115 amount=-4
kerning first=84 second=71 amount=-1
kerning first=89 second=101 amount=-2
kerning first=89 second=45 amount=-2
kerning first=122 second=99 amount=-1
kerning first=78 second=88 amount=1
kerning first=68 second=89 amount=-2
kerning first=122 second=103 amount=-1
kerning first=78 second=84 amount=-1
kerning first=86 second=103 amount=-2
kerning first=89 second=67 amount=-1
kerning first=89 second=79 amount=-1
kerning first=75 second=111 amount=-1
kerning first=111 second=120 amount=-1
kerning first=87 second=44 amount=-4
kerning first=91 second=74 amount=-1
kerning first=120 second=111 amount=-1
kerning first=84 second=111 amount=-3
kerning first=102 second=113 amount=-1
kerning first=80 second=88 amount=-1
kerning first=66 second=84 amount=-1
kerning first=65 second=87 amount=-2
kerning first=86 second=100 amount=-2
kerning first=122 second=100 amount=-1
kerning first=75 second=118 amount=-1
kerning first=70 second=118 amount=-1
kerning first=73 second=88 amount=1
kerning first=70 second=121 amount=-1
kerning first=65 second=34 amount=-4
kerning first=39 second=101 amount=-2
kerning first=75 second=101 amount=-1
kerning first=84 second=99 amount=-3
kerning first=84 second=65 amount=-3
kerning first=112 second=39 amount=-1
kerning first=76 second=39 amount=-12
kerning first=78 second=65 amount=1
kerning first=88 second=45 amount=-2
kerning first=65 second=121 amount=-2
kerning first=34 second=111 amount=-2
kerning first=89 second=85 amount=-3
kerning first=114 second=99 amount=-1
kerning first=86 second=125 amount=1
kerning first=70 second=111 amount=-1
kerning first=89 second=120 amount=-1
kerning first=90 second=119 amount=-1
kerning first=120 second=99 amount=-1
kerning first=89 second=117 amount=-1
kerning first=82 second=89 amount=-2
kerning first=75 second=117 amount=-1
kerning first=34 second=34 amount=-4
kerning first=89 second=110 amount=-1
kerning first=88 second=101 amount=-1
kerning first=107 second=103 amount=-1
kerning first=34 second=115 amount=-3
kerning first=98 second=39 amount=-1
kerning first=70 second=65 amount=-6
kerning first=70 second=46 amount=-8
kerning first=98 second=34 amount=-1
kerning first=70 second=84 amount=1
kerning first=114 second=100 amount=-1
kerning first=88 second=79 amount=-1
kerning first=39 second=113 amount=-2
kerning first=114 second=103 amount=-1
kerning first=77 second=65 amount=1
kerning first=120 second=103 amount=-1
kerning first=114 second=121 amount=1
kerning first=89 second=100 amount=-2
kerning first=80 second=65 amount=-5
kerning first=121 second=111 amount=-1
kerning first=84 second=74 amount=-8
kerning first=122 second=111 amount=-1
kerning first=114 second=118 amount=1
kerning first=102 second=41 amount=1
kerning first=122 second=113 amount=-1
kerning first=89 second=122 amount=-1
kerning first=89 second=38 amount=-1
kerning first=81 second=89 amount=-1
kerning first=114 second=111 amount=-1
kerning first=46 second=34 amount=-6
kerning first=84 second=112 amount=-4
kerning first=112 second=34 amount=-1
kerning first=76 second=34 amount=-12
kerning first=102 second=125 amount=1
kerning first=39 second=115 amount=-3
kerning first=76 second=118 amount=-5
kerning first=86 second=99 amount=-2
kerning first=84 second=84 amount=1
kerning first=86 second=65 amount=-3
kerning first=87 second=101 amount=-1
kerning first=67 second=125 amount=-1
kerning first=120 second=113 amount=-1
kerning first=118 second=46 amount=-4
kerning first=88 second=103 amount=-1
kerning first=111 second=122 amount=-1
kerning first=77 second=84 amount=-1
kerning first=114 second=46 amount=-4
kerning first=34 second=39 amount=-4
kerning first=114 second=44 amount=-4
kerning first=69 second=84 amount=1
kerning first=89 second=46 amount=-7
kerning first=97 second=39 amount=-2
kerning first=34 second=100 amount=-2
kerning first=70 second=100 amount=-1
kerning first=84 second=120 amount=-3
kerning first=90 second=118 amount=-1
kerning first=70 second=114 amount=-1
kerning first=34 second=112 amount=-1
kerning first=109 second=34 amount=-4
kerning first=86 second=113 amount=-2
kerning first=88 second=71 amount=-1
kerning first=66 second=89 amount=-2
kerning first=102 second=103 amount=-1
kerning first=88 second=67 amount=-1
kerning first=39 second=110 amount=-1
kerning first=75 second=110 amount=-1
kerning first=88 second=117 amount=-1
kerning first=89 second=118 amount=-1
kerning first=97 second=118 amount=-1
kerning first=87 second=65 amount=-2
kerning first=73 second=89 amount=-1
kerning first=89 second=74 amount=-3
kerning first=102 second=101 amount=-1
kerning first=86 second=111 amount=-2
kerning first=65 second=119 amount=-1
kerning first=84 second=100 amount=-3
kerning first=104 second=34 amount=-4
kerning first=86 second=41 amount=1
kerning first=111 second=34 amount=-5
kerning first=40 second=89 amount=1
kerning first=121 second=39 amount=1
kerning first=68 second=90 amount=-1
kerning first=114 second=113 amount=-1
kerning first=68 second=88 amount=-1
kerning first=98 second=120 amount=-1
kerning first=110 second=34 amount=-4
kerning first=119 second=44 amount=-4
kerning first=119 second=46 amount=-4
kerning first=118 second=44 amount=-4
kerning first=84 second=114 amount=-3
kerning first=86 second=97 amount=-2
kerning first=68 second=86 amount=-1
kerning first=86 second=93 amount=1
kerning first=97 second=34 amount=-2
kerning first=34 second=65 amount=-4
kerning first=84 second=118 amount=-3
kerning first=76 second=84 amount=-10
kerning first=107 second=99 amount=-1
kerning first=121 second=46 amount=-4
kerning first=123 second=85 amount=-1
kerning first=65 second=63 amount=-2
kerning first=89 second=44 amount=-7
kerning first=80 second=118 amount=1
kerning first=112 second=122 amount=-1
kerning first=79 second=65 amount=-1
kerning first=80 second=121 amount=1
kerning first=118 second=34 amount=1
kerning first=87 second=45 amount=-2
kerning first=69 second=100 amount=-1
kerning first=87 second=103 amount=-1
kerning first=112 second=120 amount=-1
kerning first=68 second=44 amount=-4
kerning first=86 second=45 amount=-1
kerning first=39 second=34 amount=-4
kerning first=68 second=46 amount=-4
kerning first=65 second=89 amount=-3
kerning first=69 second=118 amount=-1
kerning first=88 second=99 amount=-1
kerning first=87 second=46 amount=-4
kerning first=47 second=47 amount=-8
kerning first=73 second=65 amount=1
kerning first=123 second=74 amount=-1
kerning first=69 second=102 amount=-1
kerning first=87 second=111 amount=-1
kerning first=39 second=112 amount=-1
kerning first=89 second=116 amount=-1
kerning first=70 second=113 amount=-1
kerning first=77 second=88 amount=1
kerning first=84 second=32 amount=-1
kerning first=90 second=103 amount=-1
kerning first=65 second=86 amount=-3
kerning first=75 second=112 amount=-1
kerning first=39 second=109 amount=-1
kerning first=75 second=81 amount=-1
kerning first=89 second=115 amount=-2
kerning first=84 second=83 amount=-1
kerning first=89 second=87 amount=1
kerning first=114 second=101 amount=-1
kerning first=116 second=111 amount=-1
kerning first=90 second=100 amount=-1
kerning first=84 second=122 amount=-2
kerning first=68 second=84 amount=-1
kerning first=32 second=84 amount=-1
kerning first=84 second=117 amount=-3
kerning first=74 second=65 amount=-1
kerning first=107 second=101 amount=-1
kerning first=75 second=109 amount=-1
kerning first=80 second=46 amount=-11
kerning first=89 second=93 amount=1
kerning first=89 second=65 amount=-3
kerning first=87 second=117 amount=-1
kerning first=89 second=81 amount=-1
kerning first=39 second=103 amount=-2
kerning first=86 second=101 amount=-2
kerning first=86 second=117 amount=-1
kerning first=84 second=113 amount=-3
kerning first=34 second=110 amount=-1
kerning first=89 second=84 amount=1
kerning first=84 second=110 amount=-4
kerning first=39 second=99 amount=-2
kerning first=88 second=121 amount=-1
kerning first=65 second=39 amount=-4
kerning first=110 second=39 amount=-4
kerning first=75 second=67 amount=-1
kerning first=88 second=118 amount=-1
kerning first=86 second=114 amount=-1
kerning first=80 second=74 amount=-7
kerning first=84 second=97 amount=-4
kerning first=82 second=84 amount=-3
kerning first=91 second=85 amount=-1
kerning first=102 second=99 amount=-1
kerning first=66 second=86 amount=-1
kerning first=120 second=101 amount=-1
kerning first=102 second=93 amount=1
kerning first=75 second=100 amount=-1
kerning first=84 second=79 amount=-1
kerning first=111 second=121 amount=-1
kerning first=75 second=121 amount=-1
kerning first=81 second=87 amount=-1
kerning first=107 second=113 amount=-1
kerning first=120 second=100 amount=-1
kerning first=90 second=79 amount=-1
kerning first=89 second=114 amount=-1
kerning first=122 second=101 amount=-1
kerning first=111 second=118 amount=-1
kerning first=82 second=86 amount=-1
kerning first=67 second=84 amount=-1
kerning first=70 second=101 amount=-1
kerning first=89 second=83 amount=-1
kerning first=114 second=97 amount=-1
kerning first=70 second=97 amount=-1
kerning first=89 second=102 amount=-1
kerning first=78 second=89 amount=-1
kerning first=70 second=44 amount=-8
kerning first=44 second=39 amount=-6
kerning first=84 second=45 amount=-8
kerning first=89 second=121 amount=-1
kerning first=84 second=86 amount=1
kerning first=87 second=99 amount=-1
kerning first=98 second=122 amount=-1
kerning first=89 second=112 amount=-1
kerning first=89 second=103 amount=-2
kerning first=88 second=81 amount=-1
kerning first=102 second=34 amount=1
kerning first=109 second=39 amount=-4
kerning first=81 second=84 amount=-2
kerning first=121 second=97 amount=-1
kerning first=89 second=99 amount=-2
kerning first=89 second=125 amount=1
kerning first=81 second=86 amount=-1
kerning first=114 second=116 amount=2
kerning first=114 second=119 amount=1
kerning first=84 second=44 amount=-8
kerning first=102 second=39 amount=1
kerning first=44 second=34 amount=-6
kerning first=34 second=109 amount=-1
kerning first=75 second=119 amount=-2
kerning first=76 second=65 amount=1
kerning first=84 second=81 amount=-1
kerning first=76 second=121 amount=-5
kerning first=69 second=101 amount=-1
kerning first=89 second=111 amount=-2
kerning first=80 second=90 amount=-1
kerning first=89 second=97 amount=-3
kerning first=89 second=109 amount=-1
kerning first=90 second=99 amount=-1
kerning first=89 second=86 amount=1
kerning first=79 second=88 amount=-1
kerning first=70 second=103 amount=-1
kerning first=34 second=103 amount=-2
kerning first=84 second=67 amount=-1
kerning first=76 second=79 amount=-2
kerning first=89 second=41 amount=1
kerning first=65 second=118 amount=-2
kerning first=75 second=71 amount=-1
kerning first=76 second=87 amount=-5
kerning first=77 second=89 amount=-1
kerning first=90 second=113 amount=-1
kerning first=79 second=89 amount=-2
kerning first=118 second=111 amount=-1
kerning first=118 second=97 amount=-1
kerning first=88 second=100 amount=-1
kerning first=90 second=121 amount=-1
kerning first=89 second=113 amount=-2
kerning first=84 second=87 amount=1
kerning first=39 second=111 amount=-2
kerning first=80 second=44 amount=-11
kerning first=39 second=100 amount=-2
kerning first=75 second=113 amount=-1
kerning first=88 second=111 amount=-1
kerning first=84 second=89 amount=1
kerning first=84 second=103 amount=-3
kerning first=70 second=117 amount=-1
kerning first=67 second=41 amount=-1
kerning first=89 second=71 amount=-1
kerning first=121 second=44 amount=-4
kerning first=97 second=121 amount=-1
kerning first=87 second=113 amount=-1
kerning first=73 second=84 amount=-1
kerning first=84 second=101 amount=-3
kerning first=75 second=99 amount=-1
kerning first=65 second=85 amount=-1
kerning first=76 second=67 amount=-2
kerning first=76 second=81 amount=-2
kerning first=75 second=79 amount=-1
kerning first=39 second=65 amount=-4
kerning first=76 second=117 amount=-2
kerning first=65 second=84 amount=-5
kerning first=90 second=101 amount=-1
kerning first=84 second=121 amount=-3
kerning first=69 second=99 amount=-1
kerning first=114 second=39 amount=1
kerning first=84 second=109 amount=-4
kerning first=76 second=119 amount=-3
kerning first=76 second=85 amount=-2
kerning first=65 second=116 amount=-1
kerning first=76 second=71 amount=-2
kerning first=79 second=90 amount=-1
kerning first=107 second=100 amount=-1
kerning first=90 second=111 amount=-1
kerning first=79 second=44 amount=-4
kerning first=75 second=45 amount=-2
kerning first=40 second=87 amount=1
kerning first=79 second=86 amount=-1
kerning first=102 second=100 amount=-1
kerning first=72 second=89 amount=-1
kerning first=72 second=88 amount=1
kerning first=79 second=46 amount=-4
kerning first=76 second=89 amount=-8
kerning first=68 second=65 amount=-1
kerning first=79 second=84 amount=-1
kerning first=87 second=100 amount=-1
kerning first=75 second=103 amount=-1
kerning first=90 second=67 amount=-1
kerning first=69 second=103 amount=-1
kerning first=90 second=71 amount=-1
kerning first=86 second=44 amount=-8
kerning first=69 second=121 amount=-1
kerning first=87 second=114 amount=-1
kerning first=118 second=39 amount=1
kerning first=46 second=39 amount=-6
kerning first=72 second=84 amount=-1
kerning first=86 second=46 amount=-8
kerning first=69 second=113 amount=-1
kerning first=69 second=119 amount=-1
kerning first=39 second=39 amount=-4
kerning first=69 second=117 amount=-1
kerning first=111 second=39 amount=-5
kerning first=90 second=81 amount=-1
Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

-488
View File
@@ -1,488 +0,0 @@
info face="Roboto Black" size=72 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=1,1,1,1 spacing=-2,-2
common lineHeight=85 base=67 scaleW=512 scaleH=512 pages=1 packed=0
page id=0 file="RobotoBlack72White.png"
chars count=98
char id=0 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=66 xadvance=0 page=0 chnl=0
char id=10 x=0 y=0 width=70 height=99 xoffset=2 yoffset=-11 xadvance=74 page=0 chnl=0
char id=32 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=66 xadvance=18 page=0 chnl=0
char id=33 x=460 y=156 width=15 height=55 xoffset=3 yoffset=14 xadvance=20 page=0 chnl=0
char id=34 x=207 y=362 width=22 height=22 xoffset=0 yoffset=12 xadvance=23 page=0 chnl=0
char id=35 x=404 y=266 width=41 height=54 xoffset=0 yoffset=14 xadvance=42 page=0 chnl=0
char id=36 x=220 y=0 width=38 height=69 xoffset=2 yoffset=7 xadvance=42 page=0 chnl=0
char id=37 x=167 y=156 width=49 height=56 xoffset=2 yoffset=13 xadvance=53 page=0 chnl=0
char id=38 x=216 y=156 width=48 height=56 xoffset=1 yoffset=13 xadvance=48 page=0 chnl=0
char id=39 x=499 y=320 width=10 height=22 xoffset=1 yoffset=12 xadvance=11 page=0 chnl=0
char id=40 x=70 y=0 width=22 height=75 xoffset=3 yoffset=9 xadvance=25 page=0 chnl=0
char id=41 x=92 y=0 width=23 height=75 xoffset=0 yoffset=9 xadvance=25 page=0 chnl=0
char id=42 x=103 y=362 width=36 height=34 xoffset=-1 yoffset=14 xadvance=33 page=0 chnl=0
char id=43 x=0 y=362 width=37 height=40 xoffset=1 yoffset=23 xadvance=39 page=0 chnl=0
char id=44 x=483 y=320 width=16 height=25 xoffset=0 yoffset=57 xadvance=20 page=0 chnl=0
char id=45 x=308 y=362 width=23 height=12 xoffset=4 yoffset=38 xadvance=32 page=0 chnl=0
char id=46 x=270 y=362 width=15 height=15 xoffset=3 yoffset=54 xadvance=22 page=0 chnl=0
char id=47 x=374 y=0 width=29 height=58 xoffset=-3 yoffset=14 xadvance=25 page=0 chnl=0
char id=48 x=77 y=156 width=38 height=56 xoffset=2 yoffset=13 xadvance=42 page=0 chnl=0
char id=49 x=299 y=266 width=26 height=54 xoffset=4 yoffset=14 xadvance=41 page=0 chnl=0
char id=50 x=383 y=156 width=39 height=55 xoffset=1 yoffset=13 xadvance=42 page=0 chnl=0
char id=51 x=434 y=99 width=39 height=56 xoffset=1 yoffset=13 xadvance=42 page=0 chnl=0
char id=52 x=325 y=266 width=40 height=54 xoffset=1 yoffset=14 xadvance=42 page=0 chnl=0
char id=53 x=422 y=156 width=38 height=55 xoffset=2 yoffset=14 xadvance=42 page=0 chnl=0
char id=54 x=0 y=156 width=39 height=56 xoffset=2 yoffset=13 xadvance=42 page=0 chnl=0
char id=55 x=365 y=266 width=39 height=54 xoffset=1 yoffset=14 xadvance=42 page=0 chnl=0
char id=56 x=473 y=99 width=38 height=56 xoffset=2 yoffset=13 xadvance=42 page=0 chnl=0
char id=57 x=39 y=156 width=38 height=56 xoffset=2 yoffset=13 xadvance=42 page=0 chnl=0
char id=58 x=471 y=266 width=15 height=43 xoffset=3 yoffset=26 xadvance=21 page=0 chnl=0
char id=59 x=150 y=156 width=17 height=56 xoffset=1 yoffset=26 xadvance=21 page=0 chnl=0
char id=60 x=37 y=362 width=33 height=38 xoffset=1 yoffset=26 xadvance=37 page=0 chnl=0
char id=61 x=172 y=362 width=35 height=27 xoffset=3 yoffset=31 xadvance=42 page=0 chnl=0
char id=62 x=70 y=362 width=33 height=38 xoffset=3 yoffset=26 xadvance=37 page=0 chnl=0
char id=63 x=115 y=156 width=35 height=56 xoffset=0 yoffset=13 xadvance=36 page=0 chnl=0
char id=64 x=258 y=0 width=61 height=68 xoffset=1 yoffset=16 xadvance=64 page=0 chnl=0
char id=65 x=0 y=212 width=53 height=54 xoffset=-2 yoffset=14 xadvance=49 page=0 chnl=0
char id=66 x=53 y=212 width=42 height=54 xoffset=3 yoffset=14 xadvance=47 page=0 chnl=0
char id=67 x=37 y=99 width=46 height=56 xoffset=1 yoffset=13 xadvance=47 page=0 chnl=0
char id=68 x=95 y=212 width=42 height=54 xoffset=3 yoffset=14 xadvance=47 page=0 chnl=0
char id=69 x=137 y=212 width=38 height=54 xoffset=3 yoffset=14 xadvance=41 page=0 chnl=0
char id=70 x=475 y=156 width=36 height=54 xoffset=3 yoffset=14 xadvance=39 page=0 chnl=0
char id=71 x=83 y=99 width=45 height=56 xoffset=2 yoffset=13 xadvance=49 page=0 chnl=0
char id=72 x=175 y=212 width=45 height=54 xoffset=3 yoffset=14 xadvance=51 page=0 chnl=0
char id=73 x=220 y=212 width=14 height=54 xoffset=4 yoffset=14 xadvance=22 page=0 chnl=0
char id=74 x=264 y=156 width=37 height=55 xoffset=0 yoffset=14 xadvance=40 page=0 chnl=0
char id=75 x=234 y=212 width=45 height=54 xoffset=3 yoffset=14 xadvance=46 page=0 chnl=0
char id=76 x=279 y=212 width=36 height=54 xoffset=3 yoffset=14 xadvance=39 page=0 chnl=0
char id=77 x=315 y=212 width=58 height=54 xoffset=3 yoffset=14 xadvance=63 page=0 chnl=0
char id=78 x=373 y=212 width=45 height=54 xoffset=3 yoffset=14 xadvance=51 page=0 chnl=0
char id=79 x=128 y=99 width=47 height=56 xoffset=1 yoffset=13 xadvance=50 page=0 chnl=0
char id=80 x=418 y=212 width=43 height=54 xoffset=3 yoffset=14 xadvance=48 page=0 chnl=0
char id=81 x=319 y=0 width=47 height=65 xoffset=2 yoffset=13 xadvance=50 page=0 chnl=0
char id=82 x=461 y=212 width=43 height=54 xoffset=3 yoffset=14 xadvance=46 page=0 chnl=0
char id=83 x=175 y=99 width=42 height=56 xoffset=1 yoffset=13 xadvance=44 page=0 chnl=0
char id=84 x=0 y=266 width=45 height=54 xoffset=0 yoffset=14 xadvance=45 page=0 chnl=0
char id=85 x=301 y=156 width=42 height=55 xoffset=3 yoffset=14 xadvance=48 page=0 chnl=0
char id=86 x=45 y=266 width=51 height=54 xoffset=-2 yoffset=14 xadvance=48 page=0 chnl=0
char id=87 x=96 y=266 width=64 height=54 xoffset=-1 yoffset=14 xadvance=63 page=0 chnl=0
char id=88 x=160 y=266 width=48 height=54 xoffset=-1 yoffset=14 xadvance=46 page=0 chnl=0
char id=89 x=208 y=266 width=49 height=54 xoffset=-2 yoffset=14 xadvance=45 page=0 chnl=0
char id=90 x=257 y=266 width=42 height=54 xoffset=1 yoffset=14 xadvance=44 page=0 chnl=0
char id=91 x=115 y=0 width=18 height=75 xoffset=3 yoffset=5 xadvance=21 page=0 chnl=0
char id=92 x=403 y=0 width=37 height=58 xoffset=-2 yoffset=14 xadvance=31 page=0 chnl=0
char id=93 x=133 y=0 width=18 height=75 xoffset=0 yoffset=5 xadvance=21 page=0 chnl=0
char id=94 x=139 y=362 width=33 height=28 xoffset=0 yoffset=14 xadvance=32 page=0 chnl=0
char id=95 x=331 y=362 width=34 height=12 xoffset=-1 yoffset=65 xadvance=33 page=0 chnl=0
char id=96 x=285 y=362 width=23 height=13 xoffset=0 yoffset=12 xadvance=24 page=0 chnl=0
char id=97 x=0 y=320 width=37 height=42 xoffset=1 yoffset=27 xadvance=38 page=0 chnl=0
char id=98 x=440 y=0 width=37 height=57 xoffset=2 yoffset=12 xadvance=40 page=0 chnl=0
char id=99 x=37 y=320 width=36 height=42 xoffset=1 yoffset=27 xadvance=38 page=0 chnl=0
char id=100 x=0 y=99 width=37 height=57 xoffset=1 yoffset=12 xadvance=40 page=0 chnl=0
char id=101 x=73 y=320 width=38 height=42 xoffset=1 yoffset=27 xadvance=39 page=0 chnl=0
char id=102 x=477 y=0 width=28 height=57 xoffset=0 yoffset=11 xadvance=27 page=0 chnl=0
char id=103 x=217 y=99 width=38 height=56 xoffset=1 yoffset=27 xadvance=41 page=0 chnl=0
char id=104 x=255 y=99 width=36 height=56 xoffset=2 yoffset=12 xadvance=40 page=0 chnl=0
char id=105 x=291 y=99 width=15 height=56 xoffset=2 yoffset=12 xadvance=19 page=0 chnl=0
char id=106 x=197 y=0 width=23 height=71 xoffset=-5 yoffset=12 xadvance=20 page=0 chnl=0
char id=107 x=306 y=99 width=40 height=56 xoffset=2 yoffset=12 xadvance=39 page=0 chnl=0
char id=108 x=346 y=99 width=14 height=56 xoffset=3 yoffset=12 xadvance=20 page=0 chnl=0
char id=109 x=186 y=320 width=58 height=41 xoffset=2 yoffset=27 xadvance=63 page=0 chnl=0
char id=110 x=244 y=320 width=36 height=41 xoffset=2 yoffset=27 xadvance=40 page=0 chnl=0
char id=111 x=111 y=320 width=39 height=42 xoffset=1 yoffset=27 xadvance=41 page=0 chnl=0
char id=112 x=360 y=99 width=37 height=56 xoffset=2 yoffset=27 xadvance=40 page=0 chnl=0
char id=113 x=397 y=99 width=37 height=56 xoffset=1 yoffset=27 xadvance=40 page=0 chnl=0
char id=114 x=486 y=266 width=25 height=41 xoffset=2 yoffset=27 xadvance=27 page=0 chnl=0
char id=115 x=150 y=320 width=36 height=42 xoffset=0 yoffset=27 xadvance=37 page=0 chnl=0
char id=116 x=445 y=266 width=26 height=51 xoffset=0 yoffset=18 xadvance=25 page=0 chnl=0
char id=117 x=280 y=320 width=36 height=41 xoffset=2 yoffset=28 xadvance=40 page=0 chnl=0
char id=118 x=316 y=320 width=39 height=40 xoffset=-1 yoffset=28 xadvance=37 page=0 chnl=0
char id=119 x=355 y=320 width=54 height=40 xoffset=-1 yoffset=28 xadvance=52 page=0 chnl=0
char id=120 x=409 y=320 width=40 height=40 xoffset=-1 yoffset=28 xadvance=37 page=0 chnl=0
char id=121 x=343 y=156 width=40 height=55 xoffset=-1 yoffset=28 xadvance=37 page=0 chnl=0
char id=122 x=449 y=320 width=34 height=40 xoffset=1 yoffset=28 xadvance=36 page=0 chnl=0
char id=123 x=151 y=0 width=23 height=72 xoffset=0 yoffset=9 xadvance=23 page=0 chnl=0
char id=124 x=366 y=0 width=8 height=63 xoffset=5 yoffset=14 xadvance=18 page=0 chnl=0
char id=125 x=174 y=0 width=23 height=72 xoffset=0 yoffset=9 xadvance=23 page=0 chnl=0
char id=126 x=229 y=362 width=41 height=19 xoffset=2 yoffset=36 xadvance=45 page=0 chnl=0
char id=127 x=0 y=0 width=70 height=99 xoffset=2 yoffset=-11 xadvance=74 page=0 chnl=0
kernings count=385
kerning first=84 second=74 amount=-8
kerning first=86 second=100 amount=-2
kerning first=114 second=113 amount=-1
kerning first=70 second=121 amount=-1
kerning first=34 second=99 amount=-2
kerning first=70 second=99 amount=-1
kerning first=69 second=99 amount=-1
kerning first=88 second=113 amount=-1
kerning first=84 second=46 amount=-9
kerning first=87 second=97 amount=-1
kerning first=90 second=117 amount=-1
kerning first=39 second=97 amount=-2
kerning first=69 second=111 amount=-1
kerning first=87 second=41 amount=1
kerning first=121 second=34 amount=1
kerning first=40 second=86 amount=1
kerning first=85 second=65 amount=-1
kerning first=72 second=65 amount=1
kerning first=114 second=102 amount=1
kerning first=89 second=42 amount=-2
kerning first=114 second=34 amount=1
kerning first=75 second=67 amount=-1
kerning first=89 second=85 amount=-3
kerning first=77 second=88 amount=1
kerning first=84 second=115 amount=-3
kerning first=84 second=71 amount=-1
kerning first=89 second=101 amount=-2
kerning first=89 second=45 amount=-5
kerning first=78 second=88 amount=1
kerning first=68 second=89 amount=-2
kerning first=122 second=103 amount=-1
kerning first=78 second=84 amount=-1
kerning first=86 second=103 amount=-2
kerning first=89 second=79 amount=-1
kerning first=75 second=111 amount=-1
kerning first=111 second=120 amount=-1
kerning first=87 second=44 amount=-5
kerning first=67 second=84 amount=-1
kerning first=84 second=111 amount=-7
kerning first=84 second=83 amount=-1
kerning first=102 second=113 amount=-1
kerning first=39 second=101 amount=-2
kerning first=80 second=88 amount=-2
kerning first=66 second=84 amount=-1
kerning first=65 second=87 amount=-1
kerning first=122 second=100 amount=-1
kerning first=75 second=118 amount=-1
kerning first=73 second=65 amount=1
kerning first=70 second=118 amount=-1
kerning first=73 second=88 amount=1
kerning first=82 second=89 amount=-2
kerning first=65 second=34 amount=-4
kerning first=120 second=99 amount=-1
kerning first=84 second=99 amount=-3
kerning first=84 second=65 amount=-4
kerning first=112 second=39 amount=-1
kerning first=76 second=39 amount=-10
kerning first=78 second=65 amount=1
kerning first=88 second=45 amount=-5
kerning first=34 second=111 amount=-3
kerning first=114 second=99 amount=-1
kerning first=86 second=125 amount=1
kerning first=70 second=111 amount=-1
kerning first=89 second=120 amount=-1
kerning first=90 second=119 amount=-1
kerning first=89 second=89 amount=1
kerning first=89 second=117 amount=-1
kerning first=75 second=117 amount=-1
kerning first=76 second=65 amount=1
kerning first=34 second=34 amount=-1
kerning first=89 second=110 amount=-1
kerning first=88 second=101 amount=-1
kerning first=107 second=103 amount=-1
kerning first=34 second=115 amount=-3
kerning first=80 second=44 amount=-14
kerning first=98 second=39 amount=-1
kerning first=70 second=65 amount=-7
kerning first=89 second=116 amount=-1
kerning first=70 second=46 amount=-10
kerning first=98 second=34 amount=-1
kerning first=70 second=84 amount=1
kerning first=114 second=100 amount=-1
kerning first=88 second=79 amount=-1
kerning first=39 second=113 amount=-2
kerning first=65 second=118 amount=-2
kerning first=114 second=103 amount=-1
kerning first=77 second=65 amount=1
kerning first=120 second=103 amount=-1
kerning first=65 second=110 amount=-2
kerning first=114 second=121 amount=1
kerning first=89 second=100 amount=-2
kerning first=80 second=65 amount=-6
kerning first=121 second=111 amount=-1
kerning first=34 second=101 amount=-2
kerning first=122 second=111 amount=-1
kerning first=114 second=118 amount=1
kerning first=102 second=41 amount=1
kerning first=122 second=113 amount=-1
kerning first=89 second=122 amount=-1
kerning first=68 second=88 amount=-1
kerning first=81 second=89 amount=-1
kerning first=114 second=111 amount=-1
kerning first=46 second=34 amount=-10
kerning first=84 second=112 amount=-3
kerning first=76 second=34 amount=-10
kerning first=39 second=115 amount=-3
kerning first=76 second=118 amount=-4
kerning first=86 second=99 amount=-2
kerning first=84 second=84 amount=1
kerning first=120 second=111 amount=-1
kerning first=65 second=79 amount=-1
kerning first=87 second=101 amount=-1
kerning first=67 second=125 amount=-1
kerning first=120 second=113 amount=-1
kerning first=118 second=46 amount=-6
kerning first=88 second=103 amount=-1
kerning first=111 second=122 amount=-1
kerning first=77 second=84 amount=-1
kerning first=114 second=46 amount=-6
kerning first=34 second=39 amount=-1
kerning first=65 second=121 amount=-2
kerning first=114 second=44 amount=-6
kerning first=69 second=84 amount=1
kerning first=89 second=46 amount=-8
kerning first=97 second=39 amount=-1
kerning first=34 second=100 amount=-2
kerning first=70 second=100 amount=-1
kerning first=84 second=120 amount=-3
kerning first=90 second=118 amount=-1
kerning first=70 second=114 amount=-1
kerning first=34 second=112 amount=-1
kerning first=89 second=86 amount=1
kerning first=86 second=113 amount=-2
kerning first=88 second=71 amount=-1
kerning first=122 second=99 amount=-1
kerning first=66 second=89 amount=-2
kerning first=102 second=103 amount=-1
kerning first=88 second=67 amount=-1
kerning first=39 second=110 amount=-1
kerning first=88 second=117 amount=-1
kerning first=89 second=118 amount=-1
kerning first=97 second=118 amount=-1
kerning first=87 second=65 amount=-2
kerning first=89 second=67 amount=-1
kerning first=89 second=74 amount=-3
kerning first=102 second=101 amount=-1
kerning first=86 second=111 amount=-2
kerning first=65 second=119 amount=-1
kerning first=84 second=100 amount=-3
kerning first=120 second=100 amount=-1
kerning first=104 second=34 amount=-3
kerning first=86 second=41 amount=1
kerning first=111 second=34 amount=-3
kerning first=40 second=89 amount=1
kerning first=121 second=39 amount=1
kerning first=70 second=74 amount=-7
kerning first=68 second=90 amount=-1
kerning first=98 second=120 amount=-1
kerning first=110 second=34 amount=-3
kerning first=119 second=46 amount=-4
kerning first=69 second=102 amount=-1
kerning first=118 second=44 amount=-6
kerning first=84 second=114 amount=-2
kerning first=86 second=97 amount=-2
kerning first=40 second=87 amount=1
kerning first=65 second=109 amount=-2
kerning first=68 second=86 amount=-1
kerning first=86 second=93 amount=1
kerning first=65 second=67 amount=-1
kerning first=97 second=34 amount=-1
kerning first=34 second=65 amount=-4
kerning first=84 second=118 amount=-3
kerning first=112 second=34 amount=-1
kerning first=76 second=84 amount=-7
kerning first=107 second=99 amount=-1
kerning first=123 second=85 amount=-1
kerning first=102 second=125 amount=1
kerning first=65 second=63 amount=-3
kerning first=89 second=44 amount=-8
kerning first=80 second=118 amount=1
kerning first=112 second=122 amount=-1
kerning first=79 second=65 amount=-1
kerning first=80 second=121 amount=1
kerning first=118 second=34 amount=1
kerning first=87 second=45 amount=-2
kerning first=69 second=100 amount=-1
kerning first=87 second=103 amount=-1
kerning first=112 second=120 amount=-1
kerning first=86 second=65 amount=-3
kerning first=65 second=81 amount=-1
kerning first=68 second=44 amount=-4
kerning first=86 second=45 amount=-6
kerning first=39 second=34 amount=-1
kerning first=72 second=88 amount=1
kerning first=68 second=46 amount=-4
kerning first=65 second=89 amount=-5
kerning first=69 second=118 amount=-1
kerning first=89 second=38 amount=-1
kerning first=88 second=99 amount=-1
kerning first=65 second=71 amount=-1
kerning first=91 second=74 amount=-1
kerning first=75 second=101 amount=-1
kerning first=39 second=112 amount=-1
kerning first=70 second=113 amount=-1
kerning first=119 second=44 amount=-4
kerning first=72 second=89 amount=-1
kerning first=90 second=103 amount=-1
kerning first=65 second=86 amount=-3
kerning first=84 second=119 amount=-2
kerning first=34 second=110 amount=-1
kerning first=39 second=109 amount=-1
kerning first=75 second=81 amount=-1
kerning first=89 second=115 amount=-2
kerning first=89 second=87 amount=1
kerning first=114 second=101 amount=-1
kerning first=116 second=111 amount=-1
kerning first=90 second=100 amount=-1
kerning first=79 second=89 amount=-2
kerning first=84 second=122 amount=-2
kerning first=68 second=84 amount=-3
kerning first=76 second=86 amount=-7
kerning first=74 second=65 amount=-1
kerning first=107 second=101 amount=-1
kerning first=80 second=46 amount=-14
kerning first=89 second=93 amount=1
kerning first=89 second=65 amount=-5
kerning first=87 second=117 amount=-1
kerning first=89 second=81 amount=-1
kerning first=39 second=103 amount=-2
kerning first=86 second=101 amount=-2
kerning first=86 second=117 amount=-1
kerning first=84 second=113 amount=-3
kerning first=87 second=46 amount=-5
kerning first=47 second=47 amount=-9
kerning first=75 second=103 amount=-1
kerning first=89 second=84 amount=1
kerning first=84 second=110 amount=-3
kerning first=39 second=99 amount=-2
kerning first=88 second=121 amount=-1
kerning first=65 second=39 amount=-4
kerning first=110 second=39 amount=-3
kerning first=88 second=118 amount=-1
kerning first=86 second=114 amount=-1
kerning first=80 second=74 amount=-6
kerning first=84 second=97 amount=-6
kerning first=82 second=84 amount=-2
kerning first=91 second=85 amount=-1
kerning first=102 second=99 amount=-1
kerning first=66 second=86 amount=-1
kerning first=120 second=101 amount=-1
kerning first=102 second=93 amount=1
kerning first=75 second=100 amount=-1
kerning first=84 second=79 amount=-1
kerning first=44 second=39 amount=-10
kerning first=111 second=121 amount=-1
kerning first=75 second=121 amount=-1
kerning first=81 second=87 amount=-1
kerning first=107 second=113 amount=-1
kerning first=90 second=79 amount=-1
kerning first=89 second=114 amount=-1
kerning first=122 second=101 amount=-1
kerning first=111 second=118 amount=-1
kerning first=82 second=86 amount=-1
kerning first=70 second=101 amount=-1
kerning first=114 second=97 amount=-1
kerning first=70 second=97 amount=-1
kerning first=34 second=97 amount=-2
kerning first=89 second=102 amount=-1
kerning first=78 second=89 amount=-1
kerning first=70 second=44 amount=-10
kerning first=104 second=39 amount=-3
kerning first=84 second=45 amount=-10
kerning first=89 second=121 amount=-1
kerning first=109 second=34 amount=-3
kerning first=84 second=86 amount=1
kerning first=87 second=99 amount=-1
kerning first=32 second=84 amount=-2
kerning first=98 second=122 amount=-1
kerning first=89 second=112 amount=-1
kerning first=89 second=103 amount=-2
kerning first=65 second=116 amount=-1
kerning first=88 second=81 amount=-1
kerning first=102 second=34 amount=1
kerning first=109 second=39 amount=-3
kerning first=81 second=84 amount=-1
kerning first=121 second=97 amount=-1
kerning first=89 second=99 amount=-2
kerning first=89 second=125 amount=1
kerning first=81 second=86 amount=-1
kerning first=114 second=116 amount=2
kerning first=114 second=119 amount=1
kerning first=84 second=44 amount=-9
kerning first=102 second=39 amount=1
kerning first=44 second=34 amount=-10
kerning first=34 second=109 amount=-1
kerning first=84 second=101 amount=-3
kerning first=75 second=119 amount=-2
kerning first=84 second=81 amount=-1
kerning first=76 second=121 amount=-4
kerning first=69 second=101 amount=-1
kerning first=80 second=90 amount=-1
kerning first=89 second=97 amount=-2
kerning first=89 second=109 amount=-1
kerning first=90 second=99 amount=-1
kerning first=79 second=88 amount=-1
kerning first=70 second=103 amount=-1
kerning first=34 second=103 amount=-2
kerning first=84 second=67 amount=-1
kerning first=76 second=79 amount=-2
kerning first=34 second=113 amount=-2
kerning first=89 second=41 amount=1
kerning first=75 second=71 amount=-1
kerning first=76 second=87 amount=-3
kerning first=77 second=89 amount=-1
kerning first=90 second=113 amount=-1
kerning first=118 second=111 amount=-1
kerning first=118 second=97 amount=-1
kerning first=88 second=100 amount=-1
kerning first=89 second=111 amount=-2
kerning first=90 second=121 amount=-1
kerning first=89 second=113 amount=-2
kerning first=84 second=87 amount=1
kerning first=39 second=111 amount=-3
kerning first=39 second=100 amount=-2
kerning first=75 second=113 amount=-1
kerning first=88 second=111 amount=-1
kerning first=87 second=111 amount=-1
kerning first=89 second=83 amount=-1
kerning first=84 second=89 amount=1
kerning first=84 second=103 amount=-3
kerning first=70 second=117 amount=-1
kerning first=67 second=41 amount=-1
kerning first=89 second=71 amount=-1
kerning first=121 second=44 amount=-6
kerning first=97 second=121 amount=-1
kerning first=87 second=113 amount=-1
kerning first=73 second=84 amount=-1
kerning first=121 second=46 amount=-6
kerning first=75 second=99 amount=-1
kerning first=65 second=112 amount=-2
kerning first=65 second=85 amount=-1
kerning first=76 second=67 amount=-2
kerning first=76 second=81 amount=-2
kerning first=102 second=100 amount=-1
kerning first=75 second=79 amount=-1
kerning first=39 second=65 amount=-4
kerning first=65 second=84 amount=-4
kerning first=90 second=101 amount=-1
kerning first=84 second=121 amount=-3
kerning first=114 second=39 amount=1
kerning first=84 second=109 amount=-3
kerning first=123 second=74 amount=-1
kerning first=76 second=119 amount=-2
kerning first=84 second=117 amount=-2
kerning first=76 second=85 amount=-1
kerning first=76 second=71 amount=-2
kerning first=79 second=90 amount=-1
kerning first=107 second=100 amount=-1
kerning first=90 second=111 amount=-1
kerning first=79 second=44 amount=-4
kerning first=75 second=45 amount=-6
kerning first=79 second=86 amount=-1
kerning first=79 second=46 amount=-4
kerning first=76 second=89 amount=-10
kerning first=68 second=65 amount=-1
kerning first=79 second=84 amount=-3
kerning first=87 second=100 amount=-1
kerning first=84 second=32 amount=-2
kerning first=90 second=67 amount=-1
kerning first=69 second=103 amount=-1
kerning first=90 second=71 amount=-1
kerning first=86 second=44 amount=-8
kerning first=69 second=121 amount=-1
kerning first=87 second=114 amount=-1
kerning first=118 second=39 amount=1
kerning first=46 second=39 amount=-10
kerning first=72 second=84 amount=-1
kerning first=86 second=46 amount=-8
kerning first=69 second=113 amount=-1
kerning first=69 second=119 amount=-1
kerning first=73 second=89 amount=-1
kerning first=39 second=39 amount=-1
kerning first=69 second=117 amount=-1
kerning first=111 second=39 amount=-3
kerning first=90 second=81 amount=-1
Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

-103
View File
@@ -1,103 +0,0 @@
info face="Roboto Mono" size=72 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=1,1,1,1 spacing=-2,-2
common lineHeight=96 base=76 scaleW=512 scaleH=512 pages=1 packed=0
page id=0 file="RobotoMono72White.png"
chars count=98
char id=0 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=75 xadvance=0 page=0 chnl=0
char id=10 x=0 y=0 width=45 height=99 xoffset=-1 yoffset=-2 xadvance=43 page=0 chnl=0
char id=32 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=75 xadvance=43 page=0 chnl=0
char id=33 x=498 y=99 width=10 height=55 xoffset=16 yoffset=23 xadvance=43 page=0 chnl=0
char id=34 x=434 y=319 width=20 height=19 xoffset=11 yoffset=21 xadvance=43 page=0 chnl=0
char id=35 x=175 y=265 width=41 height=54 xoffset=1 yoffset=23 xadvance=43 page=0 chnl=0
char id=36 x=200 y=0 width=35 height=69 xoffset=5 yoffset=15 xadvance=43 page=0 chnl=0
char id=37 x=0 y=155 width=42 height=56 xoffset=1 yoffset=22 xadvance=44 page=0 chnl=0
char id=38 x=42 y=155 width=41 height=56 xoffset=3 yoffset=22 xadvance=44 page=0 chnl=0
char id=39 x=502 y=211 width=7 height=19 xoffset=16 yoffset=21 xadvance=43 page=0 chnl=0
char id=40 x=45 y=0 width=21 height=78 xoffset=12 yoffset=16 xadvance=44 page=0 chnl=0
char id=41 x=66 y=0 width=22 height=78 xoffset=9 yoffset=16 xadvance=43 page=0 chnl=0
char id=42 x=256 y=319 width=37 height=37 xoffset=4 yoffset=32 xadvance=43 page=0 chnl=0
char id=43 x=219 y=319 width=37 height=40 xoffset=3 yoffset=32 xadvance=43 page=0 chnl=0
char id=44 x=421 y=319 width=13 height=22 xoffset=11 yoffset=67 xadvance=43 page=0 chnl=0
char id=45 x=17 y=360 width=29 height=8 xoffset=7 yoffset=49 xadvance=44 page=0 chnl=0
char id=46 x=496 y=319 width=12 height=13 xoffset=16 yoffset=65 xadvance=43 page=0 chnl=0
char id=47 x=319 y=0 width=31 height=58 xoffset=7 yoffset=23 xadvance=43 page=0 chnl=0
char id=48 x=431 y=99 width=35 height=56 xoffset=4 yoffset=22 xadvance=43 page=0 chnl=0
char id=49 x=36 y=265 width=23 height=54 xoffset=6 yoffset=23 xadvance=44 page=0 chnl=0
char id=50 x=189 y=155 width=37 height=55 xoffset=2 yoffset=22 xadvance=44 page=0 chnl=0
char id=51 x=361 y=99 width=35 height=56 xoffset=2 yoffset=22 xadvance=43 page=0 chnl=0
char id=52 x=59 y=265 width=39 height=54 xoffset=2 yoffset=23 xadvance=44 page=0 chnl=0
char id=53 x=226 y=155 width=35 height=55 xoffset=5 yoffset=23 xadvance=43 page=0 chnl=0
char id=54 x=261 y=155 width=35 height=55 xoffset=4 yoffset=23 xadvance=43 page=0 chnl=0
char id=55 x=98 y=265 width=37 height=54 xoffset=3 yoffset=23 xadvance=44 page=0 chnl=0
char id=56 x=396 y=99 width=35 height=56 xoffset=5 yoffset=22 xadvance=43 page=0 chnl=0
char id=57 x=296 y=155 width=34 height=55 xoffset=4 yoffset=22 xadvance=43 page=0 chnl=0
char id=58 x=490 y=211 width=12 height=43 xoffset=18 yoffset=35 xadvance=43 page=0 chnl=0
char id=59 x=486 y=0 width=14 height=55 xoffset=16 yoffset=35 xadvance=43 page=0 chnl=0
char id=60 x=293 y=319 width=32 height=35 xoffset=5 yoffset=36 xadvance=43 page=0 chnl=0
char id=61 x=388 y=319 width=33 height=23 xoffset=5 yoffset=41 xadvance=43 page=0 chnl=0
char id=62 x=325 y=319 width=33 height=35 xoffset=5 yoffset=36 xadvance=43 page=0 chnl=0
char id=63 x=466 y=99 width=32 height=56 xoffset=6 yoffset=22 xadvance=43 page=0 chnl=0
char id=64 x=135 y=265 width=40 height=54 xoffset=1 yoffset=23 xadvance=42 page=0 chnl=0
char id=65 x=330 y=155 width=42 height=54 xoffset=1 yoffset=23 xadvance=43 page=0 chnl=0
char id=66 x=372 y=155 width=35 height=54 xoffset=5 yoffset=23 xadvance=43 page=0 chnl=0
char id=67 x=448 y=0 width=38 height=56 xoffset=3 yoffset=22 xadvance=43 page=0 chnl=0
char id=68 x=407 y=155 width=37 height=54 xoffset=4 yoffset=23 xadvance=43 page=0 chnl=0
char id=69 x=444 y=155 width=34 height=54 xoffset=5 yoffset=23 xadvance=43 page=0 chnl=0
char id=70 x=0 y=211 width=34 height=54 xoffset=6 yoffset=23 xadvance=44 page=0 chnl=0
char id=71 x=0 y=99 width=38 height=56 xoffset=3 yoffset=22 xadvance=44 page=0 chnl=0
char id=72 x=34 y=211 width=36 height=54 xoffset=4 yoffset=23 xadvance=43 page=0 chnl=0
char id=73 x=478 y=155 width=33 height=54 xoffset=5 yoffset=23 xadvance=43 page=0 chnl=0
char id=74 x=83 y=155 width=36 height=55 xoffset=2 yoffset=23 xadvance=43 page=0 chnl=0
char id=75 x=70 y=211 width=38 height=54 xoffset=5 yoffset=23 xadvance=43 page=0 chnl=0
char id=76 x=108 y=211 width=34 height=54 xoffset=6 yoffset=23 xadvance=43 page=0 chnl=0
char id=77 x=142 y=211 width=36 height=54 xoffset=4 yoffset=23 xadvance=43 page=0 chnl=0
char id=78 x=178 y=211 width=35 height=54 xoffset=4 yoffset=23 xadvance=43 page=0 chnl=0
char id=79 x=38 y=99 width=38 height=56 xoffset=3 yoffset=22 xadvance=43 page=0 chnl=0
char id=80 x=213 y=211 width=36 height=54 xoffset=6 yoffset=23 xadvance=43 page=0 chnl=0
char id=81 x=242 y=0 width=40 height=64 xoffset=2 yoffset=22 xadvance=43 page=0 chnl=0
char id=82 x=249 y=211 width=36 height=54 xoffset=5 yoffset=23 xadvance=43 page=0 chnl=0
char id=83 x=76 y=99 width=38 height=56 xoffset=3 yoffset=22 xadvance=44 page=0 chnl=0
char id=84 x=285 y=211 width=40 height=54 xoffset=2 yoffset=23 xadvance=44 page=0 chnl=0
char id=85 x=119 y=155 width=36 height=55 xoffset=4 yoffset=23 xadvance=43 page=0 chnl=0
char id=86 x=325 y=211 width=41 height=54 xoffset=1 yoffset=23 xadvance=43 page=0 chnl=0
char id=87 x=366 y=211 width=42 height=54 xoffset=1 yoffset=23 xadvance=43 page=0 chnl=0
char id=88 x=408 y=211 width=41 height=54 xoffset=2 yoffset=23 xadvance=43 page=0 chnl=0
char id=89 x=449 y=211 width=41 height=54 xoffset=1 yoffset=23 xadvance=43 page=0 chnl=0
char id=90 x=0 y=265 width=36 height=54 xoffset=3 yoffset=23 xadvance=43 page=0 chnl=0
char id=91 x=88 y=0 width=16 height=72 xoffset=14 yoffset=16 xadvance=43 page=0 chnl=0
char id=92 x=350 y=0 width=30 height=58 xoffset=7 yoffset=23 xadvance=43 page=0 chnl=0
char id=93 x=104 y=0 width=17 height=72 xoffset=13 yoffset=16 xadvance=44 page=0 chnl=0
char id=94 x=358 y=319 width=30 height=30 xoffset=7 yoffset=23 xadvance=43 page=0 chnl=0
char id=95 x=46 y=360 width=34 height=8 xoffset=4 yoffset=74 xadvance=43 page=0 chnl=0
char id=96 x=0 y=360 width=17 height=12 xoffset=13 yoffset=22 xadvance=43 page=0 chnl=0
char id=97 x=251 y=265 width=35 height=42 xoffset=4 yoffset=36 xadvance=43 page=0 chnl=0
char id=98 x=380 y=0 width=34 height=57 xoffset=5 yoffset=21 xadvance=43 page=0 chnl=0
char id=99 x=286 y=265 width=35 height=42 xoffset=4 yoffset=36 xadvance=43 page=0 chnl=0
char id=100 x=414 y=0 width=34 height=57 xoffset=4 yoffset=21 xadvance=43 page=0 chnl=0
char id=101 x=321 y=265 width=36 height=42 xoffset=4 yoffset=36 xadvance=43 page=0 chnl=0
char id=102 x=282 y=0 width=37 height=58 xoffset=4 yoffset=19 xadvance=43 page=0 chnl=0
char id=103 x=114 y=99 width=34 height=56 xoffset=4 yoffset=36 xadvance=43 page=0 chnl=0
char id=104 x=148 y=99 width=34 height=56 xoffset=5 yoffset=21 xadvance=43 page=0 chnl=0
char id=105 x=155 y=155 width=34 height=55 xoffset=6 yoffset=22 xadvance=43 page=0 chnl=0
char id=106 x=121 y=0 width=26 height=71 xoffset=6 yoffset=22 xadvance=44 page=0 chnl=0
char id=107 x=182 y=99 width=36 height=56 xoffset=5 yoffset=21 xadvance=43 page=0 chnl=0
char id=108 x=218 y=99 width=34 height=56 xoffset=6 yoffset=21 xadvance=43 page=0 chnl=0
char id=109 x=428 y=265 width=39 height=41 xoffset=2 yoffset=36 xadvance=43 page=0 chnl=0
char id=110 x=467 y=265 width=34 height=41 xoffset=5 yoffset=36 xadvance=43 page=0 chnl=0
char id=111 x=357 y=265 width=37 height=42 xoffset=3 yoffset=36 xadvance=43 page=0 chnl=0
char id=112 x=252 y=99 width=34 height=56 xoffset=5 yoffset=36 xadvance=43 page=0 chnl=0
char id=113 x=286 y=99 width=34 height=56 xoffset=4 yoffset=36 xadvance=43 page=0 chnl=0
char id=114 x=0 y=319 width=29 height=41 xoffset=11 yoffset=36 xadvance=44 page=0 chnl=0
char id=115 x=394 y=265 width=34 height=42 xoffset=5 yoffset=36 xadvance=43 page=0 chnl=0
char id=116 x=216 y=265 width=35 height=51 xoffset=4 yoffset=27 xadvance=43 page=0 chnl=0
char id=117 x=29 y=319 width=33 height=41 xoffset=5 yoffset=37 xadvance=43 page=0 chnl=0
char id=118 x=62 y=319 width=39 height=40 xoffset=2 yoffset=37 xadvance=43 page=0 chnl=0
char id=119 x=101 y=319 width=43 height=40 xoffset=0 yoffset=37 xadvance=43 page=0 chnl=0
char id=120 x=144 y=319 width=40 height=40 xoffset=2 yoffset=37 xadvance=43 page=0 chnl=0
char id=121 x=320 y=99 width=41 height=56 xoffset=1 yoffset=37 xadvance=43 page=0 chnl=0
char id=122 x=184 y=319 width=35 height=40 xoffset=5 yoffset=37 xadvance=44 page=0 chnl=0
char id=123 x=147 y=0 width=26 height=71 xoffset=10 yoffset=19 xadvance=43 page=0 chnl=0
char id=124 x=235 y=0 width=7 height=68 xoffset=18 yoffset=23 xadvance=43 page=0 chnl=0
char id=125 x=173 y=0 width=27 height=71 xoffset=10 yoffset=19 xadvance=44 page=0 chnl=0
char id=126 x=454 y=319 width=42 height=16 xoffset=1 yoffset=47 xadvance=44 page=0 chnl=0
char id=127 x=0 y=0 width=45 height=99 xoffset=-1 yoffset=-2 xadvance=43 page=0 chnl=0
kernings count=0
Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

-492
View File
@@ -1,492 +0,0 @@
info face="Roboto Slab Regular" size=72 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=1,1,1,1 spacing=-2,-2
common lineHeight=96 base=76 scaleW=512 scaleH=512 pages=1 packed=0
page id=0 file="RobotoSlab72White.png"
chars count=98
char id=0 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=75 xadvance=0 page=0 chnl=0
char id=10 x=0 y=0 width=70 height=98 xoffset=0 yoffset=-1 xadvance=70 page=0 chnl=0
char id=32 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=75 xadvance=18 page=0 chnl=0
char id=33 x=497 y=156 width=9 height=54 xoffset=4 yoffset=23 xadvance=17 page=0 chnl=0
char id=34 x=191 y=362 width=19 height=20 xoffset=5 yoffset=20 xadvance=28 page=0 chnl=0
char id=35 x=406 y=266 width=41 height=54 xoffset=1 yoffset=23 xadvance=43 page=0 chnl=0
char id=36 x=212 y=0 width=35 height=69 xoffset=2 yoffset=15 xadvance=39 page=0 chnl=0
char id=37 x=174 y=156 width=48 height=56 xoffset=2 yoffset=22 xadvance=52 page=0 chnl=0
char id=38 x=222 y=156 width=44 height=56 xoffset=2 yoffset=22 xadvance=46 page=0 chnl=0
char id=39 x=210 y=362 width=8 height=20 xoffset=5 yoffset=20 xadvance=17 page=0 chnl=0
char id=40 x=70 y=0 width=21 height=77 xoffset=3 yoffset=17 xadvance=23 page=0 chnl=0
char id=41 x=91 y=0 width=21 height=77 xoffset=-1 yoffset=17 xadvance=23 page=0 chnl=0
char id=42 x=100 y=362 width=31 height=33 xoffset=1 yoffset=23 xadvance=33 page=0 chnl=0
char id=43 x=0 y=362 width=37 height=40 xoffset=2 yoffset=32 xadvance=41 page=0 chnl=0
char id=44 x=492 y=320 width=13 height=21 xoffset=-1 yoffset=67 xadvance=14 page=0 chnl=0
char id=45 x=287 y=362 width=19 height=8 xoffset=4 yoffset=50 xadvance=27 page=0 chnl=0
char id=46 x=278 y=362 width=9 height=9 xoffset=4 yoffset=68 xadvance=17 page=0 chnl=0
char id=47 x=470 y=0 width=30 height=58 xoffset=-1 yoffset=23 xadvance=29 page=0 chnl=0
char id=48 x=139 y=156 width=35 height=56 xoffset=3 yoffset=22 xadvance=41 page=0 chnl=0
char id=49 x=305 y=266 width=25 height=54 xoffset=3 yoffset=23 xadvance=30 page=0 chnl=0
char id=50 x=357 y=156 width=36 height=55 xoffset=2 yoffset=22 xadvance=40 page=0 chnl=0
char id=51 x=0 y=156 width=34 height=56 xoffset=2 yoffset=22 xadvance=39 page=0 chnl=0
char id=52 x=330 y=266 width=39 height=54 xoffset=1 yoffset=23 xadvance=42 page=0 chnl=0
char id=53 x=393 y=156 width=33 height=55 xoffset=2 yoffset=23 xadvance=37 page=0 chnl=0
char id=54 x=34 y=156 width=35 height=56 xoffset=3 yoffset=22 xadvance=40 page=0 chnl=0
char id=55 x=369 y=266 width=37 height=54 xoffset=2 yoffset=23 xadvance=40 page=0 chnl=0
char id=56 x=69 y=156 width=35 height=56 xoffset=2 yoffset=22 xadvance=39 page=0 chnl=0
char id=57 x=104 y=156 width=35 height=56 xoffset=2 yoffset=22 xadvance=41 page=0 chnl=0
char id=58 x=500 y=0 width=9 height=40 xoffset=4 yoffset=37 xadvance=15 page=0 chnl=0
char id=59 x=447 y=266 width=13 height=52 xoffset=0 yoffset=37 xadvance=15 page=0 chnl=0
char id=60 x=37 y=362 width=31 height=35 xoffset=2 yoffset=39 xadvance=36 page=0 chnl=0
char id=61 x=160 y=362 width=31 height=23 xoffset=4 yoffset=40 xadvance=39 page=0 chnl=0
char id=62 x=68 y=362 width=32 height=35 xoffset=3 yoffset=39 xadvance=37 page=0 chnl=0
char id=63 x=480 y=98 width=31 height=55 xoffset=1 yoffset=22 xadvance=33 page=0 chnl=0
char id=64 x=247 y=0 width=60 height=68 xoffset=1 yoffset=25 xadvance=64 page=0 chnl=0
char id=65 x=426 y=156 width=51 height=54 xoffset=1 yoffset=23 xadvance=53 page=0 chnl=0
char id=66 x=0 y=212 width=44 height=54 xoffset=1 yoffset=23 xadvance=47 page=0 chnl=0
char id=67 x=191 y=98 width=42 height=56 xoffset=1 yoffset=22 xadvance=46 page=0 chnl=0
char id=68 x=44 y=212 width=46 height=54 xoffset=1 yoffset=23 xadvance=50 page=0 chnl=0
char id=69 x=90 y=212 width=42 height=54 xoffset=1 yoffset=23 xadvance=46 page=0 chnl=0
char id=70 x=132 y=212 width=42 height=54 xoffset=1 yoffset=23 xadvance=44 page=0 chnl=0
char id=71 x=233 y=98 width=43 height=56 xoffset=1 yoffset=22 xadvance=49 page=0 chnl=0
char id=72 x=174 y=212 width=52 height=54 xoffset=1 yoffset=23 xadvance=55 page=0 chnl=0
char id=73 x=477 y=156 width=20 height=54 xoffset=1 yoffset=23 xadvance=22 page=0 chnl=0
char id=74 x=266 y=156 width=39 height=55 xoffset=1 yoffset=23 xadvance=41 page=0 chnl=0
char id=75 x=226 y=212 width=48 height=54 xoffset=1 yoffset=23 xadvance=50 page=0 chnl=0
char id=76 x=274 y=212 width=39 height=54 xoffset=1 yoffset=23 xadvance=42 page=0 chnl=0
char id=77 x=313 y=212 width=64 height=54 xoffset=1 yoffset=23 xadvance=66 page=0 chnl=0
char id=78 x=377 y=212 width=52 height=54 xoffset=1 yoffset=23 xadvance=54 page=0 chnl=0
char id=79 x=276 y=98 width=47 height=56 xoffset=2 yoffset=22 xadvance=51 page=0 chnl=0
char id=80 x=429 y=212 width=43 height=54 xoffset=1 yoffset=23 xadvance=45 page=0 chnl=0
char id=81 x=307 y=0 width=48 height=64 xoffset=2 yoffset=22 xadvance=51 page=0 chnl=0
char id=82 x=0 y=266 width=46 height=54 xoffset=1 yoffset=23 xadvance=48 page=0 chnl=0
char id=83 x=323 y=98 width=38 height=56 xoffset=3 yoffset=22 xadvance=43 page=0 chnl=0
char id=84 x=46 y=266 width=45 height=54 xoffset=0 yoffset=23 xadvance=45 page=0 chnl=0
char id=85 x=305 y=156 width=52 height=55 xoffset=1 yoffset=23 xadvance=54 page=0 chnl=0
char id=86 x=91 y=266 width=50 height=54 xoffset=1 yoffset=23 xadvance=52 page=0 chnl=0
char id=87 x=141 y=266 width=67 height=54 xoffset=0 yoffset=23 xadvance=67 page=0 chnl=0
char id=88 x=208 y=266 width=49 height=54 xoffset=1 yoffset=23 xadvance=51 page=0 chnl=0
char id=89 x=257 y=266 width=48 height=54 xoffset=1 yoffset=23 xadvance=50 page=0 chnl=0
char id=90 x=472 y=212 width=38 height=54 xoffset=2 yoffset=23 xadvance=42 page=0 chnl=0
char id=91 x=180 y=0 width=16 height=72 xoffset=5 yoffset=16 xadvance=21 page=0 chnl=0
char id=92 x=0 y=98 width=31 height=58 xoffset=0 yoffset=23 xadvance=30 page=0 chnl=0
char id=93 x=196 y=0 width=16 height=72 xoffset=-1 yoffset=16 xadvance=19 page=0 chnl=0
char id=94 x=131 y=362 width=29 height=28 xoffset=1 yoffset=23 xadvance=30 page=0 chnl=0
char id=95 x=306 y=362 width=34 height=8 xoffset=3 yoffset=74 xadvance=40 page=0 chnl=0
char id=96 x=260 y=362 width=18 height=12 xoffset=1 yoffset=22 xadvance=20 page=0 chnl=0
char id=97 x=0 y=320 width=36 height=42 xoffset=3 yoffset=36 xadvance=41 page=0 chnl=0
char id=98 x=363 y=0 width=41 height=58 xoffset=-2 yoffset=20 xadvance=42 page=0 chnl=0
char id=99 x=36 y=320 width=34 height=42 xoffset=2 yoffset=36 xadvance=39 page=0 chnl=0
char id=100 x=404 y=0 width=40 height=58 xoffset=2 yoffset=20 xadvance=43 page=0 chnl=0
char id=101 x=70 y=320 width=34 height=42 xoffset=2 yoffset=36 xadvance=39 page=0 chnl=0
char id=102 x=444 y=0 width=26 height=58 xoffset=1 yoffset=19 xadvance=25 page=0 chnl=0
char id=103 x=31 y=98 width=34 height=57 xoffset=2 yoffset=36 xadvance=40 page=0 chnl=0
char id=104 x=65 y=98 width=44 height=57 xoffset=1 yoffset=20 xadvance=46 page=0 chnl=0
char id=105 x=109 y=98 width=20 height=57 xoffset=2 yoffset=20 xadvance=23 page=0 chnl=0
char id=106 x=112 y=0 width=18 height=73 xoffset=-2 yoffset=20 xadvance=20 page=0 chnl=0
char id=107 x=129 y=98 width=42 height=57 xoffset=1 yoffset=20 xadvance=44 page=0 chnl=0
char id=108 x=171 y=98 width=20 height=57 xoffset=1 yoffset=20 xadvance=22 page=0 chnl=0
char id=109 x=171 y=320 width=66 height=41 xoffset=1 yoffset=36 xadvance=68 page=0 chnl=0
char id=110 x=237 y=320 width=44 height=41 xoffset=1 yoffset=36 xadvance=46 page=0 chnl=0
char id=111 x=104 y=320 width=36 height=42 xoffset=2 yoffset=36 xadvance=40 page=0 chnl=0
char id=112 x=361 y=98 width=40 height=56 xoffset=1 yoffset=36 xadvance=43 page=0 chnl=0
char id=113 x=401 y=98 width=39 height=56 xoffset=2 yoffset=36 xadvance=40 page=0 chnl=0
char id=114 x=484 y=266 width=27 height=41 xoffset=2 yoffset=36 xadvance=30 page=0 chnl=0
char id=115 x=140 y=320 width=31 height=42 xoffset=3 yoffset=36 xadvance=36 page=0 chnl=0
char id=116 x=460 y=266 width=24 height=51 xoffset=1 yoffset=27 xadvance=26 page=0 chnl=0
char id=117 x=281 y=320 width=43 height=41 xoffset=0 yoffset=37 xadvance=44 page=0 chnl=0
char id=118 x=324 y=320 width=39 height=40 xoffset=0 yoffset=37 xadvance=40 page=0 chnl=0
char id=119 x=363 y=320 width=57 height=40 xoffset=1 yoffset=37 xadvance=59 page=0 chnl=0
char id=120 x=420 y=320 width=40 height=40 xoffset=1 yoffset=37 xadvance=42 page=0 chnl=0
char id=121 x=440 y=98 width=40 height=56 xoffset=0 yoffset=37 xadvance=41 page=0 chnl=0
char id=122 x=460 y=320 width=32 height=40 xoffset=3 yoffset=37 xadvance=38 page=0 chnl=0
char id=123 x=130 y=0 width=25 height=73 xoffset=1 yoffset=18 xadvance=25 page=0 chnl=0
char id=124 x=355 y=0 width=8 height=63 xoffset=4 yoffset=23 xadvance=16 page=0 chnl=0
char id=125 x=155 y=0 width=25 height=73 xoffset=-1 yoffset=18 xadvance=25 page=0 chnl=0
char id=126 x=218 y=362 width=42 height=16 xoffset=3 yoffset=47 xadvance=49 page=0 chnl=0
char id=127 x=0 y=0 width=70 height=98 xoffset=0 yoffset=-1 xadvance=70 page=0 chnl=0
kernings count=389
kerning first=86 second=45 amount=-1
kerning first=114 second=46 amount=-4
kerning first=40 second=87 amount=1
kerning first=70 second=99 amount=-1
kerning first=84 second=110 amount=-3
kerning first=114 second=116 amount=1
kerning first=39 second=65 amount=-4
kerning first=104 second=34 amount=-1
kerning first=89 second=71 amount=-1
kerning first=107 second=113 amount=-1
kerning first=78 second=88 amount=1
kerning first=109 second=39 amount=-1
kerning first=120 second=100 amount=-1
kerning first=84 second=100 amount=-3
kerning first=68 second=90 amount=-1
kerning first=68 second=44 amount=-4
kerning first=84 second=103 amount=-3
kerning first=34 second=97 amount=-2
kerning first=70 second=97 amount=-1
kerning first=76 second=81 amount=-2
kerning first=73 second=89 amount=-1
kerning first=84 second=44 amount=-8
kerning first=68 second=65 amount=-3
kerning first=97 second=34 amount=-2
kerning first=111 second=121 amount=-1
kerning first=79 second=90 amount=-1
kerning first=75 second=121 amount=-1
kerning first=75 second=118 amount=-1
kerning first=111 second=118 amount=-1
kerning first=89 second=65 amount=-9
kerning first=75 second=71 amount=-4
kerning first=39 second=99 amount=-2
kerning first=75 second=99 amount=-1
kerning first=90 second=121 amount=-1
kerning first=44 second=39 amount=-6
kerning first=89 second=46 amount=-7
kerning first=89 second=74 amount=-7
kerning first=34 second=103 amount=-2
kerning first=70 second=103 amount=-1
kerning first=112 second=39 amount=-1
kerning first=122 second=113 amount=-1
kerning first=86 second=113 amount=-2
kerning first=68 second=84 amount=-1
kerning first=89 second=110 amount=-1
kerning first=34 second=100 amount=-2
kerning first=68 second=86 amount=-1
kerning first=87 second=45 amount=-2
kerning first=39 second=34 amount=-4
kerning first=114 second=100 amount=-1
kerning first=84 second=81 amount=-1
kerning first=70 second=101 amount=-1
kerning first=68 second=89 amount=-2
kerning first=88 second=117 amount=-1
kerning first=112 second=34 amount=-1
kerning first=76 second=67 amount=-2
kerning first=76 second=34 amount=-5
kerning first=88 second=111 amount=-1
kerning first=66 second=86 amount=-1
kerning first=66 second=89 amount=-2
kerning first=122 second=101 amount=-1
kerning first=86 second=101 amount=-2
kerning first=76 second=121 amount=-5
kerning first=84 second=119 amount=-2
kerning first=84 second=112 amount=-3
kerning first=87 second=111 amount=-1
kerning first=69 second=118 amount=-1
kerning first=65 second=117 amount=-2
kerning first=65 second=89 amount=-9
kerning first=72 second=89 amount=-1
kerning first=119 second=44 amount=-4
kerning first=69 second=121 amount=-1
kerning first=84 second=109 amount=-3
kerning first=84 second=122 amount=-2
kerning first=89 second=99 amount=-2
kerning first=76 second=118 amount=-5
kerning first=90 second=99 amount=-1
kerning first=90 second=103 amount=-1
kerning first=79 second=89 amount=-2
kerning first=90 second=79 amount=-1
kerning first=84 second=115 amount=-4
kerning first=76 second=65 amount=1
kerning first=90 second=100 amount=-1
kerning first=118 second=46 amount=-4
kerning first=87 second=117 amount=-1
kerning first=118 second=34 amount=1
kerning first=69 second=103 amount=-1
kerning first=97 second=121 amount=-1
kerning first=39 second=111 amount=-2
kerning first=72 second=88 amount=1
kerning first=76 second=87 amount=-5
kerning first=69 second=119 amount=-1
kerning first=121 second=97 amount=-1
kerning first=75 second=45 amount=-8
kerning first=65 second=86 amount=-9
kerning first=46 second=34 amount=-6
kerning first=76 second=84 amount=-10
kerning first=116 second=111 amount=-1
kerning first=87 second=113 amount=-1
kerning first=69 second=100 amount=-1
kerning first=97 second=118 amount=-1
kerning first=65 second=85 amount=-2
kerning first=90 second=71 amount=-1
kerning first=68 second=46 amount=-4
kerning first=65 second=79 amount=-3
kerning first=98 second=122 amount=-1
kerning first=86 second=41 amount=1
kerning first=84 second=118 amount=-3
kerning first=70 second=118 amount=-1
kerning first=121 second=111 amount=-1
kerning first=81 second=87 amount=-1
kerning first=70 second=100 amount=-1
kerning first=102 second=93 amount=1
kerning first=114 second=101 amount=-1
kerning first=88 second=45 amount=-2
kerning first=39 second=103 amount=-2
kerning first=75 second=103 amount=-1
kerning first=88 second=101 amount=-1
kerning first=89 second=103 amount=-2
kerning first=110 second=39 amount=-1
kerning first=89 second=89 amount=1
kerning first=87 second=65 amount=-2
kerning first=119 second=46 amount=-4
kerning first=34 second=34 amount=-4
kerning first=88 second=79 amount=-2
kerning first=79 second=86 amount=-1
kerning first=76 second=119 amount=-3
kerning first=75 second=111 amount=-1
kerning first=65 second=116 amount=-4
kerning first=86 second=65 amount=-9
kerning first=70 second=84 amount=1
kerning first=75 second=117 amount=-1
kerning first=80 second=65 amount=-9
kerning first=34 second=112 amount=-1
kerning first=102 second=99 amount=-1
kerning first=118 second=97 amount=-1
kerning first=89 second=81 amount=-1
kerning first=118 second=111 amount=-1
kerning first=102 second=101 amount=-1
kerning first=114 second=44 amount=-4
kerning first=90 second=119 amount=-1
kerning first=75 second=81 amount=-4
kerning first=88 second=121 amount=-1
kerning first=34 second=110 amount=-1
kerning first=86 second=100 amount=-2
kerning first=122 second=100 amount=-1
kerning first=89 second=67 amount=-1
kerning first=90 second=118 amount=-1
kerning first=84 second=84 amount=1
kerning first=121 second=34 amount=1
kerning first=91 second=74 amount=-1
kerning first=88 second=113 amount=-1
kerning first=77 second=88 amount=1
kerning first=75 second=119 amount=-2
kerning first=114 second=104 amount=-1
kerning first=68 second=88 amount=-2
kerning first=121 second=44 amount=-4
kerning first=81 second=89 amount=-1
kerning first=102 second=39 amount=1
kerning first=74 second=65 amount=-2
kerning first=114 second=118 amount=1
kerning first=84 second=46 amount=-8
kerning first=111 second=34 amount=-1
kerning first=88 second=71 amount=-2
kerning first=88 second=99 amount=-1
kerning first=84 second=74 amount=-8
kerning first=39 second=109 amount=-1
kerning first=98 second=34 amount=-1
kerning first=86 second=114 amount=-1
kerning first=88 second=81 amount=-2
kerning first=70 second=74 amount=-11
kerning first=89 second=83 amount=-1
kerning first=87 second=41 amount=1
kerning first=89 second=97 amount=-3
kerning first=89 second=87 amount=1
kerning first=67 second=125 amount=-1
kerning first=89 second=93 amount=1
kerning first=80 second=118 amount=1
kerning first=107 second=100 amount=-1
kerning first=114 second=34 amount=1
kerning first=89 second=109 amount=-1
kerning first=89 second=45 amount=-2
kerning first=70 second=44 amount=-8
kerning first=34 second=39 amount=-4
kerning first=88 second=67 amount=-2
kerning first=70 second=46 amount=-8
kerning first=102 second=41 amount=1
kerning first=89 second=117 amount=-1
kerning first=89 second=111 amount=-4
kerning first=89 second=115 amount=-4
kerning first=114 second=102 amount=1
kerning first=89 second=125 amount=1
kerning first=89 second=121 amount=-1
kerning first=114 second=108 amount=-1
kerning first=47 second=47 amount=-8
kerning first=65 second=63 amount=-2
kerning first=75 second=67 amount=-4
kerning first=87 second=100 amount=-1
kerning first=111 second=104 amount=-1
kerning first=111 second=107 amount=-1
kerning first=75 second=109 amount=-1
kerning first=87 second=114 amount=-1
kerning first=111 second=120 amount=-1
kerning first=69 second=99 amount=-1
kerning first=65 second=84 amount=-6
kerning first=39 second=97 amount=-2
kerning first=121 second=46 amount=-4
kerning first=89 second=85 amount=-3
kerning first=75 second=79 amount=-4
kerning first=107 second=99 amount=-1
kerning first=102 second=100 amount=-1
kerning first=102 second=103 amount=-1
kerning first=75 second=110 amount=-1
kerning first=39 second=110 amount=-1
kerning first=69 second=84 amount=1
kerning first=84 second=111 amount=-3
kerning first=120 second=111 amount=-1
kerning first=84 second=114 amount=-3
kerning first=112 second=120 amount=-1
kerning first=79 second=84 amount=-1
kerning first=84 second=117 amount=-3
kerning first=89 second=79 amount=-1
kerning first=75 second=113 amount=-1
kerning first=39 second=113 amount=-2
kerning first=80 second=44 amount=-11
kerning first=79 second=88 amount=-2
kerning first=98 second=39 amount=-1
kerning first=65 second=118 amount=-4
kerning first=65 second=34 amount=-4
kerning first=88 second=103 amount=-1
kerning first=77 second=89 amount=-1
kerning first=39 second=101 amount=-2
kerning first=75 second=101 amount=-1
kerning first=88 second=100 amount=-1
kerning first=78 second=65 amount=-3
kerning first=87 second=44 amount=-4
kerning first=67 second=41 amount=-1
kerning first=86 second=93 amount=1
kerning first=84 second=83 amount=-1
kerning first=102 second=113 amount=-1
kerning first=34 second=111 amount=-2
kerning first=70 second=111 amount=-1
kerning first=86 second=99 amount=-2
kerning first=84 second=86 amount=1
kerning first=122 second=99 amount=-1
kerning first=84 second=89 amount=1
kerning first=70 second=114 amount=-1
kerning first=86 second=74 amount=-8
kerning first=89 second=38 amount=-1
kerning first=87 second=97 amount=-1
kerning first=76 second=86 amount=-9
kerning first=40 second=86 amount=1
kerning first=90 second=113 amount=-1
kerning first=39 second=39 amount=-4
kerning first=111 second=39 amount=-1
kerning first=90 second=117 amount=-1
kerning first=89 second=41 amount=1
kerning first=65 second=121 amount=-4
kerning first=89 second=100 amount=-2
kerning first=89 second=42 amount=-2
kerning first=76 second=117 amount=-2
kerning first=69 second=111 amount=-1
kerning first=46 second=39 amount=-6
kerning first=118 second=39 amount=1
kerning first=91 second=85 amount=-1
kerning first=80 second=90 amount=-1
kerning first=90 second=81 amount=-1
kerning first=69 second=117 amount=-1
kerning first=76 second=39 amount=-5
kerning first=90 second=67 amount=-1
kerning first=87 second=103 amount=-1
kerning first=84 second=120 amount=-3
kerning first=89 second=101 amount=-2
kerning first=102 second=125 amount=1
kerning first=76 second=85 amount=-2
kerning first=79 second=65 amount=-3
kerning first=65 second=71 amount=-3
kerning first=79 second=44 amount=-4
kerning first=97 second=39 amount=-2
kerning first=90 second=101 amount=-1
kerning first=65 second=87 amount=-5
kerning first=79 second=46 amount=-4
kerning first=87 second=99 amount=-1
kerning first=34 second=101 amount=-2
kerning first=40 second=89 amount=1
kerning first=76 second=89 amount=-8
kerning first=69 second=113 amount=-1
kerning first=120 second=103 amount=-1
kerning first=69 second=101 amount=-1
kerning first=69 second=102 amount=-1
kerning first=104 second=39 amount=-1
kerning first=80 second=121 amount=1
kerning first=86 second=46 amount=-8
kerning first=65 second=81 amount=-3
kerning first=86 second=44 amount=-8
kerning first=120 second=99 amount=-1
kerning first=98 second=120 amount=-1
kerning first=39 second=115 amount=-3
kerning first=121 second=39 amount=1
kerning first=88 second=118 amount=-1
kerning first=84 second=65 amount=-6
kerning first=65 second=39 amount=-4
kerning first=84 second=79 amount=-1
kerning first=65 second=119 amount=-4
kerning first=70 second=117 amount=-1
kerning first=75 second=100 amount=-1
kerning first=86 second=111 amount=-2
kerning first=122 second=111 amount=-1
kerning first=81 second=84 amount=-2
kerning first=107 second=103 amount=-1
kerning first=118 second=44 amount=-4
kerning first=87 second=46 amount=-4
kerning first=87 second=101 amount=-1
kerning first=70 second=79 amount=-2
kerning first=87 second=74 amount=-2
kerning first=123 second=74 amount=-1
kerning first=76 second=71 amount=-2
kerning first=39 second=100 amount=-2
kerning first=80 second=88 amount=-1
kerning first=84 second=121 amount=-3
kerning first=112 second=122 amount=-1
kerning first=84 second=71 amount=-1
kerning first=89 second=86 amount=1
kerning first=84 second=113 amount=-3
kerning first=120 second=113 amount=-1
kerning first=89 second=44 amount=-7
kerning first=84 second=99 amount=-3
kerning first=34 second=113 amount=-2
kerning first=80 second=46 amount=-11
kerning first=86 second=117 amount=-1
kerning first=110 second=34 amount=-1
kerning first=80 second=74 amount=-7
kerning first=120 second=101 amount=-1
kerning first=73 second=88 amount=1
kerning first=108 second=111 amount=-1
kerning first=34 second=115 amount=-3
kerning first=89 second=113 amount=-2
kerning first=82 second=86 amount=-3
kerning first=114 second=39 amount=1
kerning first=34 second=109 amount=-1
kerning first=84 second=101 amount=-3
kerning first=70 second=121 amount=-1
kerning first=123 second=85 amount=-1
kerning first=122 second=103 amount=-1
kerning first=86 second=97 amount=-2
kerning first=82 second=89 amount=-4
kerning first=66 second=84 amount=-1
kerning first=84 second=97 amount=-4
kerning first=86 second=103 amount=-2
kerning first=70 second=113 amount=-1
kerning first=84 second=87 amount=1
kerning first=75 second=112 amount=-1
kerning first=114 second=111 amount=-1
kerning first=39 second=112 amount=-1
kerning first=107 second=101 amount=-1
kerning first=82 second=84 amount=-3
kerning first=114 second=121 amount=1
kerning first=34 second=99 amount=-2
kerning first=70 second=81 amount=-2
kerning first=111 second=122 amount=-1
kerning first=84 second=67 amount=-1
kerning first=111 second=108 amount=-1
kerning first=89 second=84 amount=1
kerning first=76 second=79 amount=-2
kerning first=85 second=65 amount=-2
kerning first=44 second=34 amount=-6
kerning first=65 second=67 amount=-3
kerning first=109 second=34 amount=-1
kerning first=114 second=103 amount=-1
kerning first=78 second=89 amount=-1
kerning first=89 second=114 amount=-1
kerning first=89 second=112 amount=-1
kerning first=34 second=65 amount=-4
kerning first=70 second=65 amount=-11
kerning first=81 second=86 amount=-1
kerning first=114 second=119 amount=1
kerning first=89 second=102 amount=-1
kerning first=84 second=45 amount=-8
kerning first=86 second=125 amount=1
kerning first=70 second=67 amount=-2
kerning first=89 second=116 amount=-1
kerning first=102 second=34 amount=1
kerning first=114 second=99 amount=-1
kerning first=67 second=84 amount=-1
kerning first=114 second=113 amount=-1
kerning first=89 second=122 amount=-1
kerning first=89 second=118 amount=-1
kerning first=70 second=71 amount=-2
kerning first=114 second=107 amount=-1
kerning first=89 second=120 amount=-1
Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

-1
View File
@@ -1 +0,0 @@
!function(t){var i={};function r(o){if(i[o])return i[o].exports;var s=i[o]={i:o,l:!1,exports:{}};return t[o].call(s.exports,s,s.exports,r),s.l=!0,s.exports}r.m=t,r.c=i,r.d=function(t,i,o){r.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:o})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,i){if(1&i&&(t=r(t)),8&i)return t;if(4&i&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&i&&"string"!=typeof t)for(var s in t)r.d(o,s,function(i){return t[i]}.bind(null,s));return o},r.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(i,"a",i),i},r.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},r.p="",r(r.s=1)}([function(t,i){t.exports={options:{usePureJavaScript:!1}}},function(t,i,r){r(2),t.exports=r(0)},function(t,i,r){var o=r(0);r(3);var s=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],e=(1<<26)/s[s.length-1],a=o.jsbn.BigInteger;new a(null).fromInt(2),self.addEventListener("message",(function(t){var i=function(t){for(var i=new a(t.hex,16),r=0,o=t.workLoad,s=0;s<o;++s){if(h(i))return{found:!0,prime:i.toString(16)};i.dAddOffset(n[r++%8],0)}return{found:!1}}(t.data);self.postMessage(i)})),self.postMessage({found:!1});var n=[6,4,2,4,2,4,6,2];function h(t){for(var i=1;i<s.length;){for(var r=s[i],o=i+1;o<s.length&&r<e;)r*=s[o++];for(r=t.modInt(r);i<o;)if(r%s[i++]==0)return!1}return function(t){var i,r=t.subtract(a.ONE),o=r.getLowestSetBit();if(o<=0)return!1;for(var s,e=r.shiftRight(o),n=(i=t.bitLength())<=100?27:i<=150?18:i<=200?15:i<=250?12:i<=300?9:i<=350?8:i<=400?7:i<=500?6:i<=600?5:i<=800?4:i<=1250?3:2,h={nextBytes:function(t){for(var i=0;i<t.length;++i)t[i]=Math.floor(255*Math.random())}},u=0;u<n;++u){do{s=new a(t.bitLength(),h)}while(s.compareTo(a.ONE)<=0||s.compareTo(r)>=0);var f=s.modPow(e,t);if(0!==f.compareTo(a.ONE)&&0!==f.compareTo(r)){for(var p=o;--p;){if(0===(f=f.modPowInt(2,t)).compareTo(a.ONE))return!1;if(0===f.compareTo(r))break}if(0===p)return!1}}return!0}(t)}},function(t,i,r){var o,s=r(0);function e(t,i,r){this.data=[],null!=t&&("number"==typeof t?this.fromNumber(t,i,r):null==i&&"string"!=typeof t?this.fromString(t,256):this.fromString(t,i))}function a(){return new e(null)}function n(t,i,r,o,s,e){for(var a=16383&i,n=i>>14;--e>=0;){var h=16383&this.data[t],u=this.data[t++]>>14,f=n*h+u*a;s=((h=a*h+((16383&f)<<14)+r.data[o]+s)>>28)+(f>>14)+n*u,r.data[o++]=268435455&h}return s}t.exports=s.jsbn=s.jsbn||{},s.jsbn.BigInteger=e,"undefined"==typeof navigator?(e.prototype.am=n,o=28):"Microsoft Internet Explorer"==navigator.appName?(e.prototype.am=function(t,i,r,o,s,e){for(var a=32767&i,n=i>>15;--e>=0;){var h=32767&this.data[t],u=this.data[t++]>>15,f=n*h+u*a;s=((h=a*h+((32767&f)<<15)+r.data[o]+(1073741823&s))>>>30)+(f>>>15)+n*u+(s>>>30),r.data[o++]=1073741823&h}return s},o=30):"Netscape"!=navigator.appName?(e.prototype.am=function(t,i,r,o,s,e){for(;--e>=0;){var a=i*this.data[t++]+r.data[o]+s;s=Math.floor(a/67108864),r.data[o++]=67108863&a}return s},o=26):(e.prototype.am=n,o=28),e.prototype.DB=o,e.prototype.DM=(1<<o)-1,e.prototype.DV=1<<o,e.prototype.FV=Math.pow(2,52),e.prototype.F1=52-o,e.prototype.F2=2*o-52;var h,u,f=new Array;for(h="0".charCodeAt(0),u=0;u<=9;++u)f[h++]=u;for(h="a".charCodeAt(0),u=10;u<36;++u)f[h++]=u;for(h="A".charCodeAt(0),u=10;u<36;++u)f[h++]=u;function p(t){return"0123456789abcdefghijklmnopqrstuvwxyz".charAt(t)}function d(t,i){var r=f[t.charCodeAt(i)];return null==r?-1:r}function c(t){var i=a();return i.fromInt(t),i}function m(t){var i,r=1;return 0!=(i=t>>>16)&&(t=i,r+=16),0!=(i=t>>8)&&(t=i,r+=8),0!=(i=t>>4)&&(t=i,r+=4),0!=(i=t>>2)&&(t=i,r+=2),0!=(i=t>>1)&&(t=i,r+=1),r}function l(t){this.m=t}function v(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function T(t,i){return t&i}function y(t,i){return t|i}function b(t,i){return t^i}function g(t,i){return t&~i}function D(t){if(0==t)return-1;var i=0;return 0==(65535&t)&&(t>>=16,i+=16),0==(255&t)&&(t>>=8,i+=8),0==(15&t)&&(t>>=4,i+=4),0==(3&t)&&(t>>=2,i+=2),0==(1&t)&&++i,i}function B(t){for(var i=0;0!=t;)t&=t-1,++i;return i}function S(){}function M(t){return t}function w(t){this.r2=a(),this.q3=a(),eLine truncated
-17001
View File
File diff suppressed because it is too large. Load diff
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see main.js.LICENSE.txt */
(()=>{var __webpack_modules__={95640:(e,t,r)=>{var n=r(4002);!function(e,t,r){"use strict";if(e.MutationObserver&&"undefined"!=typeof HTMLElement){var n,o=0,i=(n=HTMLElement.prototype.matches||HTMLElement.prototype.webkitMatchesSelector||HTMLElement.prototype.mozMatchesSelector||HTMLElement.prototype.msMatchesSelector,{matchesSelector:function(e,t){return e instanceof HTMLElement&&n.call(e,t)},addMethod:function(e,t,r){var n=e[t];e[t]=function(){return r.length==arguments.length?r.apply(this,arguments):"function"==typeof n?n.apply(this,arguments):void 0}},callCallbacks:function(e,t){t&&t.options.onceOnly&&1==t.firedElems.length&&(e=[e[0]]);for(var r,n=0;r=e[n];n++)r&&r.callback&&r.callback.call(r.elem,r.elem);t&&t.options.onceOnly&&1==t.firedElems.length&&t.me.unbindEventWithSelectorAndCallback.call(t.target,t.selector,t.callback)},checkChildNodesRecursively:function(e,t,r,n){for(var o,a=0;o=e[a];a++)r(o,t,n)&&n.push({callback:t.callback,elem:o}),o.childNodes.length>0&&i.checkChildNodesRecursively(o.childNodes,t,r,n)},mergeArrays:function(e,t){var r,n={};for(r in e)e.hasOwnProperty(r)&&(n[r]=e[r]);for(r in t)t.hasOwnProperty(r)&&(n[r]=t[r]);return n},toElementsArray:function(t){return void 0===t||"number"==typeof t.length&&t!==e||(t=[t]),t}}),a=function(){var e=function(){this._eventsBucket=[],this._beforeAdding=null,this._beforeRemoving=null};return e.prototype.addEvent=function(e,t,r,n){var o={target:e,selector:t,options:r,callback:n,firedElems:[]};return this._beforeAdding&&this._beforeAdding(o),this._eventsBucket.push(o),o},e.prototype.removeEvent=function(e){for(var t,r=this._eventsBucket.length-1;t=this._eventsBucket[r];r--)if(e(t)){this._beforeRemoving&&this._beforeRemoving(t);var n=this._eventsBucket.splice(r,1);n&&n.length&&(n[0].callback=null)}},e.prototype.beforeAdding=function(e){this._beforeAdding=e},e.prototype.beforeRemoving=function(e){this._beforeRemoving=e},e}(),s=function(t,n){var o=new a,s=this,p={fireOnAttributesModification:!1};return o.beforeAdding((function(r){var o,i=r.target;i!==e.document&&i!==e||(i=document.getElementsByTagName("html")[0]),o=new MutationObserver((function(e){n.call(this,e,r)}));var a=t(r.options);o.observe(i,a),r.observer=o,r.me=s})),o.beforeRemoving((function(e){e.observer.disconnect()})),this.bindEvent=function(e,t,r){t=i.mergeArrays(p,t);for(var n=i.toElementsArray(this),a=0;a<n.length;a++)o.addEvent(n[a],e,t,r)},this.unbindEvent=function(){var e=i.toElementsArray(this);o.removeEvent((function(t){for(var n=0;n<e.length;n++)if(this===r||t.target===e[n])return!0;return!1}))},this.unbindEventWithSelectorOrCallback=function(e){var t,n=i.toElementsArray(this),a=e;t="function"==typeof e?function(e){for(var t=0;t<n.length;t++)if((this===r||e.target===n[t])&&e.callback===a)return!0;return!1}:function(t){for(var o=0;o<n.length;o++)if((this===r||t.target===n[o])&&t.selector===e)return!0;return!1},o.removeEvent(t)},this.unbindEventWithSelectorAndCallback=function(e,t){var n=i.toElementsArray(this);o.removeEvent((function(o){for(var i=0;i<n.length;i++)if((this===r||o.target===n[i])&&o.selector===e&&o.callback===t)return!0;return!1}))},this},p=new function(){var e={fireOnAttributesModification:!1,onceOnly:!1,existing:!1};function t(e,t,n){return!(!i.matchesSelector(e,t.selector)||(e._id===r&&(e._id=o++),-1!=t.firedElems.indexOf(e._id))||(t.firedElems.push(e._id),0))}var n=(p=new s((function(e){var t={attributes:!1,childList:!0,subtree:!0};return e.fireOnAttributesModification&&(t.attributes=!0),t}),(function(e,r){e.forEach((function(e){var n=e.addedNodes,o=e.target,a=[];null!==n&&n.length>0?i.checkChildNodesRecursively(n,r,t,a):"attributes"===e.type&&t(o,r)&&a.push({callback:r.callback,elem:o}),i.callCallbacks(a,r)}))}))).bindEvent;return p.bindEvent=function(t,r,o){void 0===o?(o=r,r=e):r=i.mergeArrays(e,r);var a=i.toElementsArray(this);if(r.existing){for(var s=[],p=0;p<a.length;p++)for(var c=a[p].querySelectorAll(t),l=0;l<c.length;l++)s.push({callback:o,elem:c[l]});if(r.onceOnly&&s.length)return o.call(s[0].elem,s[0].elem);setTimeout(i.callCallbacks,1,s)}n.call(this,t,r,o)},p},c=new function(){var e={};function t(e,t){return i.matchesSelector(e,t.selector)}var r=(c=new s((function(){return{childList:!0,subtree:!0}}),(function(e,r){e.forEach((function(e){var n=e.removedNodes,o=[];null!==n&&n.length>0&&i.checkChildNodesRecursively(n,r,t,o),i.callCallbacks(o,r)}))}))).bindEvent;return c.bindEvent=function(t,n,o){void 0===o?(o=n,n=e):n=i.mergeArrays(e,n),r.call(this,t,n,o)},c};t&&b(t.fn),b(HTMLElement.prototype),b(NodeList.prototype),b(HTMLCollection.prototype),b(HTMLDocument.prototype),b(Window.prototype);var l={};return u(p,l,"unbindAllArrive"),u(c,l,"unbindAllLeave"),l}function u(e,t,r){i.addMethod(t,r,e.unbindEvent),i.addMethod(t,r,e.unbindEventWithSelectorOrCallback),i.addMethod(t,r,e.unbindEventWithSelectorAndCallback)}function b(e){e.arrive=p.bindEvent,u(p,e,"unbindArrive"),e.leave=c.bindEvent,u(c,e,"unbindLeave")}}(window,void 0===n?null:n,void 0)},99239:(e,t,r)=>{vaLine truncated
-258
View File
@@ -1,258 +0,0 @@
/*!
* Bootstrap Colorpicker - Bootstrap Colorpicker is a modular color picker plugin for Bootstrap 4.
* @package bootstrap-colorpicker
* @version v3.4.0
* @license MIT
* @link https://itsjavi.com/bootstrap-colorpicker/
* @link https://github.com/itsjavi/bootstrap-colorpicker.git
*/
/*!
* Sizzle CSS Selector Engine v2.3.10
* https://sizzlejs.com/
*
* Copyright JS Foundation and other contributors
* Released under the MIT license
* https://js.foundation/
*
* Date: 2023-02-14
*/
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! cptable.js (C) 2013-present SheetJS -- http://sheetjs.com */
/*! cputils.js (C) 2013-present SheetJS -- http://sheetjs.com */
/*! https://mths.be/punycode v1.3.2 by @mathias */
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author j433866 [j433866@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2022
* @license Apache-2.0
*
* In order to render whitespace characters as control character pictures in the output, even
* when they are the designated line separator, CyberChef sometimes chooses to represent them
* internally using the Unicode Private Use Area (https://en.wikipedia.org/wiki/Private_Use_Areas).
* See `Utils.escapeWhitespace()` for an example of this.
*
* The `renderSpecialChar()` function understands that it should display these characters as
* control pictures. When copying data from the Output, we need to replace these PUA characters
* with their original values, so we override the DOM "copy" event and modify the copied data
* if required. This handler is based closely on the built-in CodeMirror handler and defers to the
* built-in handler if PUA characters are not present in the copied data, in order to minimise the
* impact of breaking changes.
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2022
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2023
* @license Apache-2.0
*/
/**
* A modification of the CodeMirror Panel extension to enable panels to the
* left and right of the editor.
* Based on code here: https://github.com/codemirror/view/blob/main/src/panel.ts
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2022
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* CodeMirror utilities that are relevant to both the input and output
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2022
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Styles index
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
/**
* Unicode Normalisation Forms
*
* @author Matthieu [m@tthieu.xyz]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* Various components for drawing diagrams on an HTML5 canvas.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**!
* @fileOverview Kickass library to create and place poppers near their reference elements.
* @version 1.16.1
* @license
* Copyright (c) 2016 Federico Zivolo and contributors
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
/**!
* Sortable 1.15.0
* @author RubaXa <trash@rubaxa.org>
* @author owenm <owen23355@gmail.com>
* @license MIT
*/
//! Copyright (c) JS Foundation and other contributors
//! github.com/moment/moment-timezone
//! license : MIT
//! moment-timezone.js
//! moment.js
//! moment.js locale configuration
//! version : 0.5.41
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
var TesseractCoreWASM=(()=>{var A="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0;return"undefined"!=typeof __filename&&(A=A||__filename),function(I){var g,C,B;I=I||{},g||(g=void 0!==I?I:{}),g.ready=new Promise((function(A,I){C=A,B=I}));var Q,E,D,i,G,o,K=Object.assign({},g),F="./this.program",R=(A,I)=>{throw I},w="object"==typeof window,N="function"==typeof importScripts,y="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,h="";y?(h=N?require("path").dirname(h)+"/":__dirname+"/",o=()=>{G||(i=require("fs"),G=require("path"))},Q=function(A,I){var g=rA(A);return g?I?g:g.toString():(o(),A=G.normalize(A),i.readFileSync(A,I?void 0:"utf8"))},D=A=>((A=Q(A,!0)).buffer||(A=new Uint8Array(A)),A),E=(A,I,g)=>{var C=rA(A);C&&I(C),o(),A=G.normalize(A),i.readFile(A,(function(A,C){A?g(A):I(C.buffer)}))},1<process.argv.length&&(F=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),process.on("uncaughtException",(function(A){if(!(A instanceof BA))throw A})),process.on("unhandledRejection",(function(A){throw A})),R=(A,I)=>{if(S)throw process.exitCode=A,I;I instanceof BA||J("exiting due to exception: "+I),process.exit(A)},g.inspect=function(){return"[Emscripten Module object]"}):(w||N)&&(N?h=self.location.href:"undefined"!=typeof document&&document.currentScript&&(h=document.currentScript.src),A&&(h=A),h=0!==h.indexOf("blob:")?h.substr(0,h.replace(/[?#].*/,"").lastIndexOf("/")+1):"",Q=A=>{try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.send(null),I.responseText}catch(B){if(A=rA(A)){I=[];for(var g=0;g<A.length;g++){var C=A[g];255<C&&(TA&&u("Character code "+C+" ("+String.fromCharCode(C)+") at offset "+g+" not in 0x00-0xFF."),C&=255),I.push(String.fromCharCode(C))}return I.join("")}throw B}},N&&(D=A=>{try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}catch(I){if(A=rA(A))return A;throw I}}),E=(A,I,g)=>{var C=new XMLHttpRequest;C.open("GET",A,!0),C.responseType="arraybuffer",C.onload=()=>{if(200==C.status||0==C.status&&C.response)I(C.response);else{var B=rA(A);B?I(B.buffer):g()}},C.onerror=g,C.send(null)});var U=g.print||console.log.bind(console),J=g.printErr||console.warn.bind(console);Object.assign(g,K),K=null,g.thisProgram&&(F=g.thisProgram),g.quit&&(R=g.quit);var Y,H=0;g.wasmBinary&&(Y=g.wasmBinary);var S=g.noExitRuntime||!0;"object"!=typeof WebAssembly&&u("no native wasm support detected");var M,k,a,s,L,c,d,q,Z,t=!1,l="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function n(A,I){for(var g=I+NaN,C=I;A[C]&&!(C>=g);)++C;if(16<C-I&&A.buffer&&l)return l.decode(A.subarray(I,C));for(g="";I<C;){var B=A[I++];if(128&B){var Q=63&A[I++];if(192==(224&B))g+=String.fromCharCode((31&B)<<6|Q);else{var E=63&A[I++];65536>(B=224==(240&B)?(15&B)<<12|Q<<6|E:(7&B)<<18|Q<<12|E<<6|63&A[I++])?g+=String.fromCharCode(B):(B-=65536,g+=String.fromCharCode(55296|B>>10,56320|1023&B))}}else g+=String.fromCharCode(B)}return g}function W(A){return A?n(s,A):""}function b(A,I,g,C){if(!(0<C))return 0;var B=g;C=g+C-1;for(var Q=0;Q<A.length;++Q){var E=A.charCodeAt(Q);if(55296<=E&&57343>=E&&(E=65536+((1023&E)<<10)|1023&A.charCodeAt(++Q)),127>=E){if(g>=C)break;I[g++]=E}else{if(2047>=E){if(g+1>=C)break;I[g++]=192|E>>6}else{if(65535>=E){if(g+2>=C)break;I[g++]=224|E>>12}else{if(g+3>=C)break;I[g++]=240|E>>18,I[g++]=128|E>>12&63}I[g++]=128|E>>6&63}I[g++]=128|63&E}}return I[g]=0,g-B}function V(A){for(var I=0,g=0;g<A.length;++g){var C=A.charCodeAt(g);127>=C?I++:2047>=C?I+=2:55296<=C&&57343>=C?(I+=4,++g):I+=3}return I}function m(){var A=M.buffer;k=A,g.HEAP8=a=new Int8Array(A),g.HEAP16=L=new Int16Array(A),g.HEAP32=c=new Int32Array(A),g.HEAPU8=s=new Uint8Array(A),g.HEAPU16=new Uint16Array(A),g.HEAPU32=d=new Uint32Array(A),g.HEAPF32=q=new Float32Array(A),g.HEAPF64=Z=new Float64Array(A)}var x,p=[],f=[],T=[],X=!1;function r(){var A=g.preRun.shift();p.unshift(A)}var O=0,j=null,e=null;function z(){O++,g.monitorRunDependencies&&g.monitorRunDependencies(O)}function P(){if(O--,g.monitorRunDependencies&&g.monitorRunDependencies(O),0==O&&(null!==j&&(clearInterval(j),j=null),e)){var A=e;e=null,A()}}function u(A){throw g.onAbort&&g.onAbort(A),J(A="Aborted("+A+")"),t=!0,A=new WebAssembly.RuntimeError(A+". Build with -sASSERTIONS for more info."),B(A),A}var v,_="data:application/octet-stream;base64,";if(!(v="data:application/octet-stream;base64,AGFzbQEAAAABmQukAWABfwBgAX8Bf2ADf39/AX9gAn9/AX9gAn9/AGADf39/AGAEf39/fwBgBH9/f38Bf2AFf39/f38AYAV/f39/fwF/YAZ/f39/f38Bf2AGf39/f39/AGADf35/AX5gB39/f39/f38AYAl/f39/f39/f38AYAAAYAF/AX1gAAF/YAd/f39/f39/AX9gCH9/f39/f39/AX9gAn9+AX9gCH9/f39/f39/AXxgAX8BfmAEf35/fwF+YAJ/fwF9YAx/f39/f39/f39/f38AYAF9AX1gAn9+AX5gAXwBfGADf39/AX1gCX9/f39/f39/fwF/YAJ/fQBgAn9/AX5gA399fwF/YAV/fn5+fgBgBX99fX1/AGACf38BfGAIf39/f39/f38AYAF/AXxgBH9/f38BfmAFf39/f3wBf2ADf39/AXxgCn9/f39/f39/f38Bf2ADf319AX9gBX9/fn9/AGAKf39/f39/f39/fwBgAnx8AXxgA39/fgBgA39+fwBgBX9/f39+AX9gAn5/AX9gBH9+fn8AYAN/fn8Bf2ADf399AXLine truncated
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see worker.min.js.LICENSE.txt */
(()=>{var __webpack_modules__={919:(t,e)=>{"use strict";e.byteLength=function(t){var e=f(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,o=f(t),a=o[0],s=o[1],u=new i(function(t,e,r){return 3*(e+r)/4-r}(0,a,s)),c=0,h=s>0?a-4:a;for(r=0;r<h;r+=4)e=n[t.charCodeAt(r)]<<18|n[t.charCodeAt(r+1)]<<12|n[t.charCodeAt(r+2)]<<6|n[t.charCodeAt(r+3)],u[c++]=e>>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===s&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===s&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,o=[],a=16383,s=0,f=n-i;s<f;s+=a)o.push(u(t,s,s+a>f?f:s+a));return 1===i?(e=t[n-1],o.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],o.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),o.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,s=o.length;a<s;++a)r[a]=o[a],n[o.charCodeAt(a)]=a;function f(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,n){for(var i,o,a=[],s=e;s<n;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),a.push(r[(o=i)>>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return a.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},86:(t,e,r)=>{var n=r(752),i=r(773);t.exports={encode:n,decode:i}},773:(t,e,r)=>{var n=r(33).lW;function i(t,e){if(this.pos=0,this.buffer=t,this.is_with_alpha=!!e,this.bottom_up=!0,this.flag=this.buffer.toString("utf-8",0,this.pos+=2),"BM"!=this.flag)throw new Error("Invalid BMP File");this.parseHeader(),this.parseRGBA()}i.prototype.parseHeader=function(){if(this.fileSize=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.reserved=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.offset=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.headerSize=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.width=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.height=this.buffer.readInt32LE(this.pos),this.pos+=4,this.planes=this.buffer.readUInt16LE(this.pos),this.pos+=2,this.bitPP=this.buffer.readUInt16LE(this.pos),this.pos+=2,this.compress=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.rawSize=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.hr=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.vr=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.colors=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.importantColors=this.buffer.readUInt32LE(this.pos),this.pos+=4,16===this.bitPP&&this.is_with_alpha&&(this.bitPP=15),this.bitPP<15){var t=0===this.colors?1<<this.bitPP:this.colors;this.palette=new Array(t);for(var e=0;e<t;e++){var r=this.buffer.readUInt8(this.pos++),n=this.buffer.readUInt8(this.pos++),i=this.buffer.readUInt8(this.pos++),o=this.buffer.readUInt8(this.pos++);this.palette[e]={red:i,green:n,blue:r,quad:o}}}this.height<0&&(this.height*=-1,this.bottom_up=!1)},i.prototype.parseRGBA=function(){var t="bit"+this.bitPP,e=this.width*this.height*4;this.data=new n(e),this[t]()},i.prototype.bit1=function(){var t=Math.ceil(this.width/8),e=t%4,r=this.height>=0?this.height-1:-this.height;for(r=this.height-1;r>=0;r--){for(var n=this.bottom_up?r:this.height-1-r,i=0;i<t;i++)for(var o=this.buffer.readUInt8(this.pos++),a=n*this.width*4+8*i*4,s=0;s<8&&8*i+s<this.width;s++){var f=this.palette[o>>7-s&1];this.data[a+4*s]=0,this.data[a+4*s+1]=f.blue,this.data[a+4*s+2]=f.green,this.data[a+4*s+3]=f.red}0!=e&&(this.pos+=4-e)}},i.prototype.bit4=function(){if(2==this.compress){var t=function(t){var r=this.palette[t];this.data[e]=0,this.data[e+1]=r.blue,this.data[e+2]=r.green,this.data[e+3]=r.red,e+=4};this.data.fill(255);for(var e=0,r=this.bottom_up?this.height-1:0,n=!1;e<this.data.length;){var i=this.buffer.readUInt8(this.pos++),o=this.buffer.readUInt8(this.pos++);if(0==i){if(0==o){this.bottom_up?r--:r++,e=r*this.width*4,n=!1;continue}if(1==o)break;if(2==o){var a=this.buffer.readUInt8(this.pos++),s=this.buffer.readUInt8(this.pos++);this.bottom_up?r-=s:r+=s,e+=s*this.width*4+4*a}else{for(var f=this.buffer.readUInt8(this.pos++),u=0;u<o;u++)t.call(this,n?15&f:(240&f)>>4),1&u&&u+1<o&&(f=this.buffer.readUInt8(this.pos++)),n=!n;1==(o+1>>1&1)&&this.pos++}}else for(u=0;u<i;u++)t.call(this,n?15&o:(240&o)>>4),n=!n}}else{var c=Math.ceil(this.width/2),h=c%4;for(s=this.height-1;s>=0;s--){var p=this.bottom_up?s:this.height-1-s;for(a=0;a<c;a++){o=this.buffer.readUInt8(this.pos++),e=p*this.width*4+2*a*4;var l=o>>4,d=15&o,m=this.palette[l];if(this.data[e]=0,this.data[e+1]=m.blue,this.data[e+2]=m.green,this.data[e+3]=m.red,2*a+1>=this.width)break;m=this.palette[d],this.data[e+4]=0,this.data[e+4+1]=m.blue,this.data[e+4+2]=m.green,this.data[e+4+3]=m.red}0!=h&&(this.pos+=4-h)}}},i.prototype.bit8=function(){if(1==this.compress){var t=function(t){var r=this.palette[t];this.data[e]=0,this.data[e+1]=r.blue,this.data[e+2]=r.green,this.dLine truncated
@@ -1 +0,0 @@
/*! For license information please see worker.min.js.LICENSE.txt */
File renamed without changes.
+32
View File
@@ -0,0 +1,32 @@
{
"tags": {
"allowUnknownTags": true
},
"plugins": [
"plugins/markdown",
"node_modules/jsdoc-babel"
],
"templates": {
"systemName": "CyberChef",
"footer": "",
"copyright": "&copy; Crown Copyright 2017",
"navType": "inline",
"theme": "cerulean",
"linenums": true,
"collapseSymbols": false,
"inverseNav": true,
"outputSourceFiles": true,
"outputSourcePath": true,
"dateFormat": "ddd MMM Do YYYY",
"sort": false,
"logoFile": "cyberchef-32x32.png",
"cleverLinks": false,
"monospaceLinks": false,
"protocol": "html://",
"methodHeadingReturns": false
},
"markdown": {
"parser": "gfm",
"hardwrap": true
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

-33
View File
@@ -1,33 +0,0 @@
<!--
CyberChef - The Cyber Swiss Army Knife
@copyright Crown Copyright 2016
@license Apache-2.0
Copyright 2016 Crown Copyright
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE html><html lang="en" class="classic"><head><meta charset="UTF-8"><title>CyberChef</title><meta name="copyright" content="Crown Copyright 2016"><meta name="description" content="The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis"><meta name="keywords" content="base64, hex, decode, encode, encrypt, decrypt, compress, decompress, regex, regular expressions, hash, crypt, hexadecimal, user agent, url, certificate, x.509, parser, JSON, gzip, md5, sha1, aes, des, blowfish, xor"><link rel="icon" type="image/ico" href="assets/aecc661b69309290f600.ico"><script type="application/javascript">"use strict";try{document.querySelector(":root").className=(JSON.parse(localStorage.getItem("options"))||{}).theme}catch(e){}var loadingMsgs=["Proving P = NP...","Computing 6 x 9...","Mining bitcoin...","Dividing by 0...","Initialising Skynet...","[REDACTED]","Downloading more RAM...","Ordering 1s and 0s...","Navigating neural network...","Importing machine learning...","Issuing Alice and Bob one-time pads...","Mining bitcoin cash...","Generating key material by trying to escape vim...","for i in range(additional): Pylon()","(creating unresolved tension...","Symlinking emacs and vim to ed...","Training branch predictor...","Timing cache hits...","Speculatively executing recipes...","Adding LLM hallucinations..."];for(let e=loadingMsgs.length-1;e>0;--e){var j=Math.floor(Math.random()*(e+1)),temp=loadingMsgs[e];loadingMsgs[e]=loadingMsgs[j],loadingMsgs[j]=temp}function changeLoadingMsg(){var e=loadingMsgs.shift();loadingMsgs.push(e);try{var n=document.getElementById("preloader-msg");n.classList.contains("loading")||n.classList.add("loading"),n.innerHTML=e}catch(e){setTimeout(changeLoadingMsg,1e3)}}function loadingErrorHandler(e){function n(e){var n={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","/":"&#x2F;","`":"&#x60;"};return e.replace(/[&<>"'/`]/g,(function(e){return n[e]}))}var r=e.message+(e.filename?"\nFilename: "+e.filename:"")+(e.lineno?"\nLine: "+e.lineno:"")+(e.colno?"\nColumn: "+e.colno:"")+(e.error?"\nError: "+e.error:"")+"\nUser-Agent: "+navigator.userAgent+"\nCyberChef version: 10.5.2";clearInterval(window.loadingMsgsInt),document.getElementById("preloader").remove(),document.getElementById("preloader-msg").remove(),document.getElementById("preloader-error").innerHTML="CyberChef encountered an error while loading.<br><br>The following browser versions are supported:<ul><li>Google Chrome 50+</li><li>Mozilla Firefox 38+</li></ul>Your user agent is:<br>"+n(navigator.userAgent)+"<br><br>If your browser is supported, please <a href='https://github.com/gchq/CyberChef/issues/new/choose'>raise an issue</a> including the following details:<br><br><pre>"+n(r)+"</pre>"}changeLoadingMsg(),window.loadingMsgsInt=setInterval(changeLoadingMsg,2e3*Math.random()+1500),window.addEventListener("error",loadingErrorHandler)</script><script defer="defer" src="assets/main.js"></script><link href="assets/main.css" rel="stylesheet"><script type='application/ld+json'>[{"@context":"http://schema.org","@type":"Organization","url":"https://gchq.github.io/CyberChef/","logo":"https://gchq.github.io/CyberChef/images/cyberchef-128x128.png","sameAs":["https://github.com/gchq/CyberChef","https://www.npmjs.com/package/cyberchef"]},{"@context":"http://schema.org","@type":"WebSite","url":"https://gchq.github.io/CyberChef/","name":"CyberChef","potentialAction":{"@type":"SearchAction","target":"https://gchq.github.io/CyberChef/?op={operation_search_term}","query-input":"required name=operation_search_term"}}]</script></head><body><div id="loader-wrapper"><div id="preloader" class="loader"></div><div id="preloader-msg" class="loading-msg"></div><div id="preloader-error" class="loading-error"></div></div><button type="button" class="btn btn-warning bmd-btn-icon" id="edit-favourites" data-toggle="tooltip" title="Edit favourites"><i class="material-icons">star</i></button><div id="content-wrapper"><div id="banner" class="row"><div class="col" style="text-align:left;padding-left:10px"><a href="#" data-toggle="modal" data-target="#download-modal" data-help-title="Downloading CyberChef" data-help="<p>CyberChef can be downloaded to run locally or hosted within your own network. It has no server-side component so all that is required is that the ZIP file is uncompressed and the files are accessible.</p><p>As a user, it is worth noting that unofficial versions of CyberChef could have been modified to introduce Input and/or Recipe exfiltration. We recommend always using the official, open source, up-to-date version of CyberChef hosted at <a href='https://gchq.github.io/CyberChef'>https://gchq.github.io/CyberChef</a> if accessible.</p><p>The Network tab in your browser's Developer console (F12) can be used to inspect the network requests made by a website. This can confirm that no data is uploaded when a CyberChef recipe is baked.</p>">Download CyberChef <i class="material-icons">file_download</i></a></Line truncated
<!-- Begin Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-G9R4C1H8SR"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-G9R4C1H8SR');
</script>
<!-- End Google Analytics -->
</body></html>
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see Bletchley.js.LICENSE.txt */
(()=>{var e={79742:(e,t)=>{"use strict";t.byteLength=function(e){var t=u(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,i=u(e),a=i[0],s=i[1],l=new o(function(e,t,r){return 3*(t+r)/4-r}(0,a,s)),c=0,f=s>0?a-4:a;for(r=0;r<f;r+=4)t=n[e.charCodeAt(r)]<<18|n[e.charCodeAt(r+1)]<<12|n[e.charCodeAt(r+2)]<<6|n[e.charCodeAt(r+3)],l[c++]=t>>16&255,l[c++]=t>>8&255,l[c++]=255&t;return 2===s&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,l[c++]=255&t),1===s&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,l[c++]=t>>8&255,l[c++]=255&t),l},t.fromByteArray=function(e){for(var t,n=e.length,o=n%3,i=[],a=16383,s=0,u=n-o;s<u;s+=a)i.push(l(e,s,s+a>u?u:s+a));return 1===o?(t=e[n-1],i.push(r[t>>2]+r[t<<4&63]+"==")):2===o&&(t=(e[n-2]<<8)+e[n-1],i.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),i.join("")};for(var r=[],n=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,s=i.length;a<s;++a)r[a]=i[a],n[i.charCodeAt(a)]=a;function u(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function l(e,t,n){for(var o,i,a=[],s=t;s<n;s+=3)o=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),a.push(r[(i=o)>>18&63]+r[i>>12&63]+r[i>>6&63]+r[63&i]);return a.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},48764:(e,t,r)=>{"use strict";const n=r(79742),o=r(80645),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=u,t.INSPECT_MAX_BYTES=50;const a=2147483647;function s(e){if(e>a)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,u.prototype),t}function u(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return f(e)}return l(e,t,r)}function l(e,t,r){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!u.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const r=0|m(e,t);let n=s(r);const o=n.write(e,t);return o!==r&&(n=n.slice(0,o)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(Y(e,Uint8Array)){const t=new Uint8Array(e);return p(t.buffer,t.byteOffset,t.byteLength)}return h(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Y(e,ArrayBuffer)||e&&Y(e.buffer,ArrayBuffer))return p(e,t,r);if("undefined"!=typeof SharedArrayBuffer&&(Y(e,SharedArrayBuffer)||e&&Y(e.buffer,SharedArrayBuffer)))return p(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return u.from(n,t,r);const o=function(e){if(u.isBuffer(e)){const t=0|d(e.length),r=s(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||J(e.length)?s(0):h(e):"Buffer"===e.type&&Array.isArray(e.data)?h(e.data):void 0}(e);if(o)return o;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return u.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function c(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function f(e){return c(e),s(e<0?0:0|d(e))}function h(e){const t=e.length<0?0:0|d(e.length),r=s(t);for(let n=0;n<t;n+=1)r[n]=255&e[n];return r}function p(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('"length" is outside of buffer bounds');let n;return n=void 0===t&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,t):new Uint8Array(e,t,r),Object.setPrototypeOf(n,u.prototype),n}function d(e){if(e>=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function m(e,t){if(u.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Y(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let o=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Q(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return H(e).length;default:if(o)return n?-1:Q(e).length;t=(""+t).toLowerCase(),o=!0}}function v(e,t,r){let n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<Line truncated
-226
View File
@@ -1,226 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Emulation of Colossus.
*
* Tested against the Colossus Rebuild at Bletchley Park's TNMOC
* using a variety of inputs and settings to confirm correctness.
*
* @author VirtualColossus [martin@virtualcolossus.co.uk]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* Emulation of the Bombe machine.
*
* @author s2224834
* @author The National Museum of Computing - Bombe Rebuild Project
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* Emulation of the Bombe machine.
*
* Tested against the Bombe Rebuild at Bletchley Park's TNMOC
* using a variety of inputs and settings to confirm correctness.
*
* @author s2224834
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* Emulation of the Bombe machine.
* This version carries out multiple Bombe runs to handle unknown rotor configurations.
*
* @author s2224834
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* Emulation of the Enigma machine.
*
* @author s2224834
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* Emulation of the Enigma machine.
*
* Tested against various genuine Enigma machines using a variety of inputs
* and settings to confirm correctness.
*
* @author s2224834
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* Emulation of the Lorenz SZ40/42a/42b cipher attachment.
*
* Tested against the Colossus Rebuild at Bletchley Park's TNMOC
* using a variety of inputs and settings to confirm correctness.
*
* @author VirtualColossus [martin@virtualcolossus.co.uk]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* Emulation of the SIGABA machine
*
* @author hettysymes
* @copyright hettysymes 2020
* @license Apache-2.0
*/
/**
* Emulation of the SIGABA machine.
*
* @author hettysymes
* @copyright hettysymes 2020
* @license Apache-2.0
*/
/**
* Emulation of the Typex machine.
*
* @author s2224834
* @author The National Museum of Computing - Bombe Rebuild Project
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* Emulation of the Typex machine.
*
* Tested against a genuine Typex machine using a variety of inputs
* and settings to confirm correctness.
*
* @author s2224834
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Resources required by the Lorenz SZ40/42 and Colossus
*
* @author VirtualColossus [martin@virtualcolossus.co.uk]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see Charts.js.LICENSE.txt */
(()=>{var t={79742:(t,e)=>{"use strict";e.byteLength=function(t){var e=c(t),n=e[0],r=e[1];return 3*(n+r)/4-r},e.toByteArray=function(t){var e,n,o=c(t),a=o[0],u=o[1],s=new i(function(t,e,n){return 3*(e+n)/4-n}(0,a,u)),f=0,l=u>0?a-4:a;for(n=0;n<l;n+=4)e=r[t.charCodeAt(n)]<<18|r[t.charCodeAt(n+1)]<<12|r[t.charCodeAt(n+2)]<<6|r[t.charCodeAt(n+3)],s[f++]=e>>16&255,s[f++]=e>>8&255,s[f++]=255&e;return 2===u&&(e=r[t.charCodeAt(n)]<<2|r[t.charCodeAt(n+1)]>>4,s[f++]=255&e),1===u&&(e=r[t.charCodeAt(n)]<<10|r[t.charCodeAt(n+1)]<<4|r[t.charCodeAt(n+2)]>>2,s[f++]=e>>8&255,s[f++]=255&e),s},e.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o=[],a=16383,u=0,c=r-i;u<c;u+=a)o.push(s(t,u,u+a>c?c:u+a));return 1===i?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"=")),o.join("")};for(var n=[],r=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,u=o.length;a<u;++a)n[a]=o[a],r[o.charCodeAt(a)]=a;function c(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function s(t,e,r){for(var i,o,a=[],u=e;u<r;u+=3)i=(t[u]<<16&16711680)+(t[u+1]<<8&65280)+(255&t[u+2]),a.push(n[(o=i)>>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},48764:(t,e,n)=>{"use strict";const r=n(79742),i=n(80645),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=c,e.INSPECT_MAX_BYTES=50;const a=2147483647;function u(t){if(t>a)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,c.prototype),e}function c(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return l(t)}return s(t,e,n)}function s(t,e,n){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!c.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const n=0|y(t,e);let r=u(n);const i=r.write(t,e);return i!==n&&(r=r.slice(0,i)),r}(t,e);if(ArrayBuffer.isView(t))return function(t){if(X(t,Uint8Array)){const e=new Uint8Array(t);return d(e.buffer,e.byteOffset,e.byteLength)}return h(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(X(t,ArrayBuffer)||t&&X(t.buffer,ArrayBuffer))return d(t,e,n);if("undefined"!=typeof SharedArrayBuffer&&(X(t,SharedArrayBuffer)||t&&X(t.buffer,SharedArrayBuffer)))return d(t,e,n);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const r=t.valueOf&&t.valueOf();if(null!=r&&r!==t)return c.from(r,e,n);const i=function(t){if(c.isBuffer(t)){const e=0|p(t.length),n=u(e);return 0===n.length||t.copy(n,0,0,e),n}return void 0!==t.length?"number"!=typeof t.length||J(t.length)?u(0):h(t):"Buffer"===t.type&&Array.isArray(t.data)?h(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return c.from(t[Symbol.toPrimitive]("string"),e,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function f(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function l(t){return f(t),u(t<0?0:0|p(t))}function h(t){const e=t.length<0?0:0|p(t.length),n=u(e);for(let r=0;r<e;r+=1)n[r]=255&t[r];return n}function d(t,e,n){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(n||0))throw new RangeError('"length" is outside of buffer bounds');let r;return r=void 0===e&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,e):new Uint8Array(t,e,n),Object.setPrototypeOf(r,c.prototype),r}function p(t){if(t>=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|t}function y(t,e){if(c.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||X(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const n=t.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;let i=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return G(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return V(t).length;default:if(i)return r?-1:G(t).length;e=(""+e).toLowerCase(),i=!0}}function g(t,e,n){let r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<Line truncated
-119
View File
@@ -1,119 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author tlwr [toby@toby.codes]
* @author Matt C [me@mitt.dev]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see Ciphers.js.LICENSE.txt */
(()=>{var __webpack_modules__={10322:function(module){var factory;factory=function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=177)}([function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},function(e,t,r){var n=r(2),i=n.Buffer;function a(e,t){for(var r in e)t[r]=e[r]}function o(e,t,r){return i(e,t,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(a(n,t),t.Buffer=o),a(i,o),o.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,r)},o.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=i(e);return void 0!==t?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},o.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},function(e,t,r){"use strict";(function(e){var n=r(169),i=r(168),a=r(76);function o(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(o()<t)throw new RangeError("Invalid typed array length");return c.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=c.prototype:(null===e&&(e=new c(t)),e.length=t),e}function c(e,t,r){if(!(c.TYPED_ARRAY_SUPPORT||this instanceof c))return new c(e,t,r);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return h(this,e)}return u(this,e,t,r)}function u(e,t,r,n){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,r,n){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");return t=void 0===r&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,r):new Uint8Array(t,r,n),c.TYPED_ARRAY_SUPPORT?(e=t).__proto__=c.prototype:e=l(e,t),e}(e,t,r,n):"string"==typeof t?function(e,t,r){if("string"==typeof r&&""!==r||(r="utf8"),!c.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var n=0|p(t,r),i=(e=s(e,n)).write(t,r);return i!==n&&(e=e.slice(0,i)),e}(e,t,r):function(e,t){if(c.isBuffer(t)){var r=0|d(t.length);return 0===(e=s(e,r)).length||t.copy(e,0,0,r),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(n=t.length)!=n?s(e,0):l(e,t);if("Buffer"===t.type&&a(t.data))return l(e,t.data)}var n;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function f(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function h(e,t){if(f(t),e=s(e,t<0?0:0|d(t)),!c.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}function l(e,t){var r=t.length<0?0:0|d(t.length);e=s(e,r);for(var n=0;n<r;n+=1)e[n]=255&t[n];return e}function d(e){if(e>=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function p(e,t){if(c.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return K(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return G(e).length;default:if(n)return K(e).length;t=(""+t).toLowerCase(),n=!0}}function y(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.lenLine truncated
-306
View File
@@ -1,306 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
* @license MIT
*/
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
Blowfish.js from Dojo Toolkit 1.8.1 (https://github.com/dojo/dojox/tree/1.8/encoding)
Extracted by Sladex (xslade@gmail.com)
Shoehorned into working with mjs for CyberChef by Matt C (matt@artemisbot.uk)
Refactored and implemented modes support by cbeuw (cbeuw.andy@gmail.com)
@license BSD
========================================================================
The "New" BSD License:
**********************
Copyright (c) 2005-2016, The Dojo Foundation
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the Dojo Foundation nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/**
* @author Flavio Diez [flaviofdiez+cyberchef@gmail.com]
* @copyright Crown Copyright 2020
* @license Apache-2.0
*/
/**
* @author Jarmo van Lenthe [github.com/jarmovanlenthe]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author Matt C [me@mitt.dev]
* @author gchq77703 []
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author Matt C [me@mitt.dev]
* @author gchq77703 []
* @copyright Crown Copyright 2020
* @license Apache-2.0
*/
/**
* @author Matt C [me@mitt.dev]
* @copyright Crown Copyright 2020
* @license Apache-2.0
*/
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author dolphinOnKeys [robin@weird.io]
* @copyright Crown Copyright 2022
* @license Apache-2.0
*/
/**
* @author mikecat
* @copyright Crown Copyright 2022
* @license Apache-2.0
*/
/**
* @author n1073645 [n1073645@gmail.com]
* @copyright Crown Copyright 2020
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2023
* @license Apache-2.0
*/
/**
* @author swesven
* @copyright 2021
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Binary functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Cipher functions.
*
* @author Matt C [matt@artemisbot.uk]
* @author n1474335 [n1474335@gmail.com]
*
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Complete implementation of SM4 cipher encryption/decryption with
* ECB, CBC, CFB, OFB, CTR block modes.
* These modes are specified in IETF draft-ribose-cfrg-sm4-09, see:
* https://tools.ietf.org/id/draft-ribose-cfrg-sm4-09.html
* for details.
*
* Follows spec from Cryptography Standardization Technical Comittee:
* http://www.gmbz.org.cn/upload/2018-04-04/1522788048733065051.pdf
*
* @author swesven
* @copyright 2021
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Hexadecimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* RSA resources.
*
* @author Matt C [me@mitt.dev]
* @copyright Crown Copyright 2021
* @license Apache-2.0
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Various delimiters
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/** @preserve
* Counter block mode compatible with Dr Brian Gladman fileenc.c
* derived from CryptoJS.mode.CTR
* Jan Hruby jhruby.web@gmail.com
*/
/** @preserve
(c) 2012 by Cédric Mesnil. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see Code.js.LICENSE.txt */
(()=>{var e={92878:function(e,t,n){var r=n(48764).Buffer;!function(e){"use strict";const t=",".charCodeAt(0),n=";".charCodeAt(0),i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=new Uint8Array(64),o=new Uint8Array(128);for(let e=0;e<i.length;e++){const t=i.charCodeAt(e);o[t]=e,a[e]=t}const s="undefined"!=typeof TextDecoder?new TextDecoder:void 0!==r?{decode:e=>r.from(e.buffer,e.byteOffset,e.byteLength).toString()}:{decode(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t}};function l(e,t,n,r){let i=0,a=0,s=0;do{const n=e.charCodeAt(t++);s=o[n],i|=(31&s)<<a,a+=5}while(32&s);const l=1&i;return i>>>=1,l&&(i=-2147483648|-i),n[r]+=i,t}function u(e,r){if(r>=e.length)return!1;const i=e.charCodeAt(r);return i!==t&&i!==n}function c(e){e.sort(p)}function p(e,t){return e[0]-t[0]}function d(e){const r=new Int32Array(5);let i=new Uint8Array(1024),a=0;for(let o=0;o<e.length;o++){const s=e[o];if(o>0&&(i=_(i,a,1),i[a++]=n),0!==s.length){r[0]=0;for(let e=0;e<s.length;e++){const n=s[e];i=_(i,a,36),e>0&&(i[a++]=t),a=m(i,a,r,n,0),1!==n.length&&(a=m(i,a,r,n,1),a=m(i,a,r,n,2),a=m(i,a,r,n,3),4!==n.length&&(a=m(i,a,r,n,4)))}}}return s.decode(i.subarray(0,a))}function _(e,t,n){if(e.length>t+n)return e;const r=new Uint8Array(2*e.length);return r.set(e),r}function m(e,t,n,r,i){const o=r[i];let s=o-n[i];n[i]=o,s=s<0?-s<<1|1:s<<1;do{let n=31&s;s>>>=5,s>0&&(n|=32),e[t++]=a[n]}while(s>0);return t}const f=/^[\w+.-]+:\/\//,h=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?/,g=/^file:(?:\/\/((?![a-z]:)[^/]*)?)?(\/?.*)/i;function E(e){return e.startsWith("/")}function S(e){const t=h.exec(e);return b(t[1],t[2]||"",t[3],t[4]||"",t[5]||"/")}function b(e,t,n,r,i){return{scheme:e,user:t,host:n,port:r,path:i,relativePath:!1}}function D(e){if(function(e){return e.startsWith("//")}(e)){const t=S("http:"+e);return t.scheme="",t}if(E(e)){const t=S("http://foo.com"+e);return t.scheme="",t.host="",t}if(function(e){return e.startsWith("file:")}(e))return function(e){const t=g.exec(e),n=t[2];return b("file:","",t[1]||"","",E(n)?n:"/"+n)}(e);if(function(e){return f.test(e)}(e))return S(e);const t=S("http://foo.com/"+e);return t.scheme="",t.host="",t.relativePath=!0,t}function C(e){const{relativePath:t}=e,n=e.path.split("/");let r=1,i=0,a=!1;for(let e=1;e<n.length;e++){const o=n[e];o?(a=!1,"."!==o&&(".."!==o?(n[r++]=o,i++):i?(a=!0,i--,r--):t&&(n[r++]=o))):a=!0}let o="";for(let e=1;e<r;e++)o+="/"+n[e];(!o||a&&!o.endsWith("/.."))&&(o+="/"),e.path=o}function A(e,t){if(!e&&!t)return"";const n=D(e);if(t&&!n.scheme){const e=D(t);n.scheme=e.scheme,n.host||(n.user=e.user,n.host=e.host,n.port=e.port),function(e,t){e.relativePath&&(C(t),"/"===e.path?e.path=t.path:e.path=function(e){if(e.endsWith("/.."))return e;const t=e.lastIndexOf("/");return e.slice(0,t+1)}(t.path)+e.path,e.relativePath=t.relativePath)}(n,e)}if(C(n),n.relativePath){const r=n.path.slice(1);return r?!(t||e).startsWith(".")||r.startsWith(".")?r:"./"+r:"."}return n.scheme||n.host?`${n.scheme}//${n.user}${n.host}${n.port}${n.path}`:n.path}function y(e,t){return t&&!t.endsWith("/")&&(t+="/"),A(e,t)}const v=0,T=1,R=2,N=3,O=4;function x(e,t){for(let n=t;n<e.length;n++)if(!I(e[n]))return n;return e.length}function I(e){for(let t=1;t<e.length;t++)if(e[t][v]<e[t-1][v])return!1;return!0}function w(e,t){return t||(e=e.slice()),e.sort(F)}function F(e,t){return e[v]-t[v]}let M=!1;function k(e,t,n){for(let r=n+1;r<e.length&&e[r][v]===t;r++,n++);return n}function L(e,t,n){for(let r=n-1;r>=0&&e[r][v]===t;r--,n--);return n}function B(e,t,n,r){const{lastKey:i,lastNeedle:a,lastIndex:o}=n;let s=0,l=e.length-1;if(r===i){if(t===a)return M=-1!==o&&e[o][v]===t,o;t>=a?s=-1===o?0:o:l=o}return n.lastKey=r,n.lastNeedle=t,n.lastIndex=function(e,t,n,r){for(;n<=r;){const i=n+(r-n>>1),a=e[i][v]-t;if(0===a)return M=!0,i;a<0?n=i+1:r=i-1}return M=!1,n-1}(e,t,s,l)}const P=function(e,t){const n="string"==typeof e?JSON.parse(e):e;if(!("sections"in n))return new $(n,t);const r=[],i=[],a=[],o=[],{sections:s}=n;let l=0;for(;l<s.length-1;l++){const e=s[l+1].offset;U(s[l],t,r,i,a,o,e.line,e.column)}s.length>0&&U(s[l],t,r,i,a,o,1/0,1/0);const u={version:3,file:n.file,names:o,sources:i,sourcesContent:a,mappings:r};return q(u)};function U(e,t,n,r,i,a,o,s){const l=P(e.map,t),{line:u,column:c}=e.offset,p=r.length,d=a.length,_=H(l),{resolvedSources:m}=l;G(r,m),G(i,l.sourcesContent||function(e){const t=[];for(let n=0;n<e;n++)t[n]=null;return t}(m.length)),G(a,l.names);for(let e=n.length;e<=u;e++)n.push([]);const f=o-u,h=Math.min(_.length,f+1);for(let e=0;e<h;e++){const t=_[e],r=0===e?n[u]:n[u+e]=[],i=0===e?c:0;for(let n=0;n<t.length;n++){const a=t[n],o=i+a[v];if(e===f&&o>=s)break;if(1===a.length){r.push([o]);continue}const l=p+a[T],u=a[R],c=a[N];4!==a.length?r.push([o,l,u,c,d+a[O]]):r.push([o,l,u,c])}}}function G(e,t){for(let n=0;n<t.length;n++)e.push(t[n])}const V=Object.freeze({source:null,line:null,column:null,name:null});Object.freeze({line:null,column:null});const Y=-1;let H,z,q,K,W;clLine truncated
-214
View File
@@ -1,214 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
* @author Matt C (matt@artemisbot.uk)
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author Mikescher (https://github.com/Mikescher | https://mikescher.com)
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author j433866 [j433866@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Phillip Nordwall [phillip.nordwall@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Code resources.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Transform a json object into html representation
*
* Adapted for CyberChef by @n1474335 from jQuery json-viewer
* @author Alexandre Bodelot <alexandre.bodelot@gmail.com>
* @link https://github.com/abodelot/jquery.json-viewer
* @license MIT
*
* @returns {string}
*/
/**
* vkBeautify - javascript plugin to pretty-print or minify text in XML, JSON, CSS and SQL formats.
*
* Copyright (c) 2012 Vadim Kiryukhin
* vkiryukhin @ gmail.com
* http://www.eslinstructor.net/vkbeautify/
*
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* Pretty print
*
* vkbeautify.xml(text [,indent_pattern]);
* vkbeautify.json(text [,indent_pattern]);
* vkbeautify.css(text [,indent_pattern]);
* vkbeautify.sql(text [,indent_pattern]);
*
* @text - String; text to beatufy;
* @indent_pattern - Integer | String;
* Integer: number of white spaces;
* String: character string to visualize indentation ( can also be a set of white spaces )
* Minify
*
* vkbeautify.xmlmin(text [,preserve_comments]);
* vkbeautify.jsonmin(text);
* vkbeautify.cssmin(text [,preserve_comments]);
* vkbeautify.sqlmin(text);
*
* @text - String; text to minify;
* @preserve_comments - Bool; [optional];
* Set this flag to true to prevent removing comments from @text ( minxml and mincss functions only. )
*
* Examples:
* vkbeautify.xml(text); // pretty print XML
* vkbeautify.json(text, 4 ); // pretty print JSON
* vkbeautify.css(text, '. . . .'); // pretty print CSS
* vkbeautify.sql(text, '----'); // pretty print SQL
*
* vkbeautify.xmlmin(text, true);// minify XML, preserve comments
* vkbeautify.jsonmin(text);// minify JSON
* vkbeautify.cssmin(text);// minify CSS, remove comments ( default )
* vkbeautify.sqlmin(text);// minify SQL
*
*/
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see Compression.js.LICENSE.txt */
(()=>{var __webpack_modules__={79742:(A,e)=>{"use strict";e.byteLength=function(A){var e=o(A),t=e[0],I=e[1];return 3*(t+I)/4-I},e.toByteArray=function(A){var e,t,i=o(A),g=i[0],n=i[1],a=new r(function(A,e,t){return 3*(e+t)/4-t}(0,g,n)),C=0,B=n>0?g-4:g;for(t=0;t<B;t+=4)e=I[A.charCodeAt(t)]<<18|I[A.charCodeAt(t+1)]<<12|I[A.charCodeAt(t+2)]<<6|I[A.charCodeAt(t+3)],a[C++]=e>>16&255,a[C++]=e>>8&255,a[C++]=255&e;return 2===n&&(e=I[A.charCodeAt(t)]<<2|I[A.charCodeAt(t+1)]>>4,a[C++]=255&e),1===n&&(e=I[A.charCodeAt(t)]<<10|I[A.charCodeAt(t+1)]<<4|I[A.charCodeAt(t+2)]>>2,a[C++]=e>>8&255,a[C++]=255&e),a},e.fromByteArray=function(A){for(var e,I=A.length,r=I%3,i=[],g=16383,n=0,o=I-r;n<o;n+=g)i.push(a(A,n,n+g>o?o:n+g));return 1===r?(e=A[I-1],i.push(t[e>>2]+t[e<<4&63]+"==")):2===r&&(e=(A[I-2]<<8)+A[I-1],i.push(t[e>>10]+t[e>>4&63]+t[e<<2&63]+"=")),i.join("")};for(var t=[],I=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",g=0,n=i.length;g<n;++g)t[g]=i[g],I[i.charCodeAt(g)]=g;function o(A){var e=A.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=A.indexOf("=");return-1===t&&(t=e),[t,t===e?0:4-t%4]}function a(A,e,I){for(var r,i,g=[],n=e;n<I;n+=3)r=(A[n]<<16&16711680)+(A[n+1]<<8&65280)+(255&A[n+2]),g.push(t[(i=r)>>18&63]+t[i>>12&63]+t[i>>6&63]+t[63&i]);return g.join("")}I["-".charCodeAt(0)]=62,I["_".charCodeAt(0)]=63},48764:(A,e,t)=>{"use strict";const I=t(79742),r=t(80645),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=o,e.INSPECT_MAX_BYTES=50;const g=2147483647;function n(A){if(A>g)throw new RangeError('The value "'+A+'" is invalid for option "size"');const e=new Uint8Array(A);return Object.setPrototypeOf(e,o.prototype),e}function o(A,e,t){if("number"==typeof A){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return B(A)}return a(A,e,t)}function a(A,e,t){if("string"==typeof A)return function(A,e){if("string"==typeof e&&""!==e||(e="utf8"),!o.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const t=0|Q(A,e);let I=n(t);const r=I.write(A,e);return r!==t&&(I=I.slice(0,r)),I}(A,e);if(ArrayBuffer.isView(A))return function(A){if(Z(A,Uint8Array)){const e=new Uint8Array(A);return E(e.buffer,e.byteOffset,e.byteLength)}return s(A)}(A);if(null==A)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof A);if(Z(A,ArrayBuffer)||A&&Z(A.buffer,ArrayBuffer))return E(A,e,t);if("undefined"!=typeof SharedArrayBuffer&&(Z(A,SharedArrayBuffer)||A&&Z(A.buffer,SharedArrayBuffer)))return E(A,e,t);if("number"==typeof A)throw new TypeError('The "value" argument must not be of type number. Received type number');const I=A.valueOf&&A.valueOf();if(null!=I&&I!==A)return o.from(I,e,t);const r=function(A){if(o.isBuffer(A)){const e=0|h(A.length),t=n(e);return 0===t.length||A.copy(t,0,0,e),t}return void 0!==A.length?"number"!=typeof A.length||j(A.length)?n(0):s(A):"Buffer"===A.type&&Array.isArray(A.data)?s(A.data):void 0}(A);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof A[Symbol.toPrimitive])return o.from(A[Symbol.toPrimitive]("string"),e,t);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof A)}function C(A){if("number"!=typeof A)throw new TypeError('"size" argument must be of type number');if(A<0)throw new RangeError('The value "'+A+'" is invalid for option "size"')}function B(A){return C(A),n(A<0?0:0|h(A))}function s(A){const e=A.length<0?0:0|h(A.length),t=n(e);for(let I=0;I<e;I+=1)t[I]=255&A[I];return t}function E(A,e,t){if(e<0||A.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(A.byteLength<e+(t||0))throw new RangeError('"length" is outside of buffer bounds');let I;return I=void 0===e&&void 0===t?new Uint8Array(A):void 0===t?new Uint8Array(A,e):new Uint8Array(A,e,t),Object.setPrototypeOf(I,o.prototype),I}function h(A){if(A>=g)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+g.toString(16)+" bytes");return 0|A}function Q(A,e){if(o.isBuffer(A))return A.length;if(ArrayBuffer.isView(A)||Z(A,ArrayBuffer))return A.byteLength;if("string"!=typeof A)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof A);const t=A.length,I=arguments.length>2&&!0===arguments[2];if(!I&&0===t)return 0;let r=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return t;case"utf8":case"utf-8":return W(A).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*t;case"hex":return t>>>1;case"base64":return P(A).length;default:if(r)return I?-1:W(A).length;e=(""+e).toLowerCase(),r=!0}}function c(A,e,t){let I=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===t||t>this.length)&&Line truncated
-144
View File
@@ -1,144 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
* @author Matt C [me@mitt.dev]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author Matt C [me@mitt.dev]
* @copyright Crown Copyright 2022
* @license Apache-2.0
*/
/**
* @author crespyl [peter@crespyl.net]
* @copyright Peter Jacobs 2021
* @license Apache-2.0
*/
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2022
* @license Apache-2.0
*/
/**
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/** @license zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License */
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see Crypto.js.LICENSE.txt */
(()=>{var t,e,r={94110:(t,e,r)=>{var i,n=r(34155),o="undefined"!=typeof self&&void 0!==self.Module?self.Module:{},a={};for(i in o)o.hasOwnProperty(i)&&(a[i]=o[i]);var s,u,h,c,f=[];h="object"==typeof window,c="function"==typeof importScripts,s="object"==typeof n&&"object"==typeof n.versions&&"string"==typeof n.versions.node,u=!h&&!s&&!c;var l,d,p,g,m,A="";s?(A=c?r(62520).dirname(A)+"/":"//",l=function(t,e){return g||(g=r(8866)),m||(m=r(62520)),t=m.normalize(t),g.readFileSync(t,e?null:"utf8")},p=function(t){var e=l(t,!0);return e.buffer||(e=new Uint8Array(e)),C(e.buffer),e},n.argv.length>1&&n.argv[1].replace(/\\/g,"/"),f=n.argv.slice(2),t.exports=o,n.on("uncaughtException",(function(t){if(!(t instanceof z))throw t})),n.on("unhandledRejection",N),o.inspect=function(){return"[Emscripten Module object]"}):u?("undefined"!=typeof read&&(l=function(t){return read(t)}),p=function(t){var e;return"function"==typeof readbuffer?new Uint8Array(readbuffer(t)):(C("object"==typeof(e=read(t,"binary"))),e)},"undefined"!=typeof scriptArgs?f=scriptArgs:"undefined"!=typeof arguments&&(f=arguments),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(h||c)&&(c?A=self.location.href:"undefined"!=typeof document&&document.currentScript&&(A=document.currentScript.src),A=0!==A.indexOf("blob:")?A.substr(0,A.lastIndexOf("/")+1):"",l=function(t){var e=new XMLHttpRequest;return e.open("GET",t,!1),e.send(null),e.responseText},c&&(p=function(t){var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),d=function(t,e,r){var i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=function(){200==i.status||0==i.status&&i.response?e(i.response):r()},i.onerror=r,i.send(null)}),o.print||console.log.bind(console);var y,v,b=o.printErr||console.warn.bind(console);for(i in a)a.hasOwnProperty(i)&&(o[i]=a[i]);a=null,o.arguments&&(f=o.arguments),o.thisProgram&&o.thisProgram,o.quit&&o.quit,o.wasmBinary&&(y=o.wasmBinary),o.noExitRuntime,"object"!=typeof WebAssembly&&N("no native wasm support detected");var w=!1;function C(t,e){t||N("Assertion failed: "+e)}var E,B,I="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function M(t){E=t,o.HEAP8=new Int8Array(t),o.HEAP16=new Int16Array(t),o.HEAP32=new Int32Array(t),o.HEAPU8=B=new Uint8Array(t),o.HEAPU16=new Uint16Array(t),o.HEAPU32=new Uint32Array(t),o.HEAPF32=new Float32Array(t),o.HEAPF64=new Float64Array(t)}o.INITIAL_MEMORY;var S,k=[],_=[],T=[],R=0,x=null,Q=null;function N(t){throw o.onAbort&&o.onAbort(t),b(t+=""),w=!0,t="abort("+t+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(t)}o.preloadedImages={},o.preloadedAudios={};var D="data:application/octet-stream;base64,";function U(t){return t.startsWith(D)}function L(t){return t.startsWith("file://")}var F,O="argon2.wasm";function P(t){try{if(t==O&&y)return new Uint8Array(y);if(p)return p(t);throw"both async and sync fetching of the wasm failed"}catch(t){N(t)}}function H(t){for(;t.length>0;){var e=t.shift();if("function"!=typeof e){var r=e.func;"number"==typeof r?void 0===e.arg?S.get(r)():S.get(r)(e.arg):r(void 0===e.arg?null:e.arg)}else e(o)}}function j(t){try{return v.grow(t-E.byteLength+65535>>>16),M(v.buffer),1}catch(t){}}U(O)||(F=O,O=o.locateFile?o.locateFile(F,A):A+F);var G,K={a:function(t,e,r){B.copyWithin(t,e,e+r)},b:function(t){var e,r=B.length,i=2147418112;if((t>>>=0)>i)return!1;for(var n=1;n<=4;n*=2){var o=r*(1+.2/n);if(o=Math.min(o,t+100663296),j(Math.min(i,((e=Math.max(t,o))%65536>0&&(e+=65536-e%65536),e))))return!0}return!1}},V=(function(){var t={a:K};function e(t,e){var r,i=t.exports;o.asm=i,M((v=o.asm.c).buffer),S=o.asm.k,r=o.asm.d,_.unshift(r),function(t){if(R--,o.monitorRunDependencies&&o.monitorRunDependencies(R),0==R&&(null!==x&&(clearInterval(x),x=null),Q)){var e=Q;Q=null,e()}}()}function r(t){e(t.instance)}function i(e){return function(){if(!y&&(h||c)){if("function"==typeof fetch&&!L(O))return fetch(O,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw"failed to load wasm binary file at '"+O+"'";return t.arrayBuffer()})).catch((function(){return P(O)}));if(d)return new Promise((function(t,e){d(O,(function(e){t(new Uint8Array(e))}),e)}))}return Promise.resolve().then((function(){return P(O)}))}().then((function(e){return WebAssembly.instantiate(e,t)})).then(e,(function(t){b("failed to asynchronously prepare wasm: "+t),N(t)}))}if(R++,o.monitorRunDependencies&&o.monitorRunDependencies(R),o.instantiateWasm)try{return o.instantiateWasm(t,e)}catch(t){return b("Module.instantiateWasm callback failed with error: "+t),!1}y||"function"!=typeof WebAssembly.instantiateStreaming||U(O)||L(O)||"function"!=typeof fetch?i(r):fetch(O,{credentials:"same-origin"}).then((function(e){return WebAssembly.instantiateStreaming(e,t).then(r,(function(t){return b("wasm streaming compile failed: "+t),b("falling back to ArrayBuLine truncated
-285
View File
@@ -1,285 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! https://mths.be/punycode v1.3.2 by @mathias */
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
/**
* @author Tan Zhen Yong [tzy@beyondthesprawl.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author brun0ne [brunonblok@gmail.com]
* @copyright Crown Copyright 2022
* @license Apache-2.0
*/
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author gchq77703 []
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author h345983745
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author mikecat
* @copyright Crown Copyright 2022
* @license Apache-2.0
*/
/**
* @author mikecat
* @copyright Crown Copyright 2023
* @license Apache-2.0
*/
/**
* @author mshwed [m@ttshwed.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1073645 [n1073645@gmail.com]
* @copyright Crown Copyright 2020
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author john19696 [john19696@protonmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2021
* @license Apache-2.0
*
* HASSH created by Salesforce
* Ben Reardon (@benreardon)
* Adel Karimi (@0x4d31)
* and the JA3 crew:
* John B. Althouse
* Jeff Atkinson
* Josh Atkins
*
* Algorithm released under the BSD-3-clause licence
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2021
* @license Apache-2.0
*
* HASSH created by Salesforce
* Ben Reardon (@benreardon)
* Adel Karimi (@0x4d31)
* and the JA3 crew:
* John B. Althouse
* Jeff Atkinson
* Josh Atkins
*
* Algorithm released under the BSD-3-clause licence
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2021
* @license Apache-2.0
*
* JA3 created by Salesforce
* John B. Althouse
* Jeff Atkinson
* Josh Atkins
*
* Algorithm released under the BSD-3-clause licence
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2021
* @license Apache-2.0
*
* JA3S created by Salesforce
* John B. Althouse
* Jeff Atkinson
* Josh Atkins
*
* Algorithm released under the BSD-3-clause licence
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2022
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Hashing resources.
*
* @author n1474335 [n1474335@gmail.com]
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* JWT resources
*
* @author mt3571 [mt3571@protonmail.com]
* @copyright Crown Copyright 2020
* @license Apache-2.0
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Various delimiters
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* [js-crc]{@link https://github.com/emn178/js-crc}
*
* @namespace crc
* @version 0.2.0
* @author Chen, Yi-Cyuan [emn178@gmail.com]
* @copyright Chen, Yi-Cyuan 2015-2017
* @license MIT
*/
/**
* [js-sha3]{@link https://github.com/emn178/js-sha3}
*
* @version 0.8.0
* @author Chen, Yi-Cyuan [emn178@gmail.com]
* @copyright Chen, Yi-Cyuan 2015-2018
* @license MIT
*/
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see Diff.js.LICENSE.txt */
(()=>{var e={79742:(e,t)=>{"use strict";t.byteLength=function(e){var t=s(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,o=s(e),a=o[0],u=o[1],c=new i(function(e,t,r){return 3*(t+r)/4-r}(0,a,u)),l=0,f=u>0?a-4:a;for(r=0;r<f;r+=4)t=n[e.charCodeAt(r)]<<18|n[e.charCodeAt(r+1)]<<12|n[e.charCodeAt(r+2)]<<6|n[e.charCodeAt(r+3)],c[l++]=t>>16&255,c[l++]=t>>8&255,c[l++]=255&t;return 2===u&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,c[l++]=255&t),1===u&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,c[l++]=t>>8&255,c[l++]=255&t),c},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,o=[],a=16383,u=0,s=n-i;u<s;u+=a)o.push(c(e,u,u+a>s?s:u+a));return 1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),o.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,u=o.length;a<u;++a)r[a]=o[a],n[o.charCodeAt(a)]=a;function s(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e,t,n){for(var i,o,a=[],u=t;u<n;u+=3)i=(e[u]<<16&16711680)+(e[u+1]<<8&65280)+(255&e[u+2]),a.push(r[(o=i)>>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return a.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},48764:(e,t,r)=>{"use strict";const n=r(79742),i=r(80645),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=s,t.INSPECT_MAX_BYTES=50;const a=2147483647;function u(e){if(e>a)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,s.prototype),t}function s(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return f(e)}return c(e,t,r)}function c(e,t,r){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!s.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const r=0|m(e,t);let n=u(r);const i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(q(e,Uint8Array)){const t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return p(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(q(e,ArrayBuffer)||e&&q(e.buffer,ArrayBuffer))return h(e,t,r);if("undefined"!=typeof SharedArrayBuffer&&(q(e,SharedArrayBuffer)||e&&q(e.buffer,SharedArrayBuffer)))return h(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return s.from(n,t,r);const i=function(e){if(s.isBuffer(e)){const t=0|d(e.length),r=u(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||Z(e.length)?u(0):p(e):"Buffer"===e.type&&Array.isArray(e.data)?p(e.data):void 0}(e);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return s.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function f(e){return l(e),u(e<0?0:0|d(e))}function p(e){const t=e.length<0?0:0|d(e.length),r=u(t);for(let n=0;n<t;n+=1)r[n]=255&e[n];return r}function h(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('"length" is outside of buffer bounds');let n;return n=void 0===t&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,t):new Uint8Array(e,t,r),Object.setPrototypeOf(n,s.prototype),n}function d(e){if(e>=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function m(e,t){if(s.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||q(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return V(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Y(e).length;default:if(i)return n?-1:V(e).length;t=(""+t).toLowerCase(),i=!0}}function v(e,t,r){let n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<Line truncated
-112
View File
@@ -1,112 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see Encodings.js.LICENSE.txt */
(()=>{var t={79742:(t,e)=>{"use strict";e.byteLength=function(t){var e=s(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,i=s(t),a=i[0],l=i[1],c=new o(function(t,e,r){return 3*(e+r)/4-r}(0,a,l)),h=0,f=l>0?a-4:a;for(r=0;r<f;r+=4)e=n[t.charCodeAt(r)]<<18|n[t.charCodeAt(r+1)]<<12|n[t.charCodeAt(r+2)]<<6|n[t.charCodeAt(r+3)],c[h++]=e>>16&255,c[h++]=e>>8&255,c[h++]=255&e;return 2===l&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,c[h++]=255&e),1===l&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,c[h++]=e>>8&255,c[h++]=255&e),c},e.fromByteArray=function(t){for(var e,n=t.length,o=n%3,i=[],a=16383,l=0,s=n-o;l<s;l+=a)i.push(c(t,l,l+a>s?s:l+a));return 1===o?(e=t[n-1],i.push(r[e>>2]+r[e<<4&63]+"==")):2===o&&(e=(t[n-2]<<8)+t[n-1],i.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),i.join("")};for(var r=[],n=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,l=i.length;a<l;++a)r[a]=i[a],n[i.charCodeAt(a)]=a;function s(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,n){for(var o,i,a=[],l=e;l<n;l+=3)o=(t[l]<<16&16711680)+(t[l+1]<<8&65280)+(255&t[l+2]),a.push(r[(i=o)>>18&63]+r[i>>12&63]+r[i>>6&63]+r[63&i]);return a.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},48764:(t,e,r)=>{"use strict";const n=r(79742),o=r(80645),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=s,e.INSPECT_MAX_BYTES=50;const a=2147483647;function l(t){if(t>a)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,s.prototype),e}function s(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return f(t)}return c(t,e,r)}function c(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!s.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const r=0|g(t,e);let n=l(r);const o=n.write(t,e);return o!==r&&(n=n.slice(0,o)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(Y(t,Uint8Array)){const e=new Uint8Array(t);return p(e.buffer,e.byteOffset,e.byteLength)}return u(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(Y(t,ArrayBuffer)||t&&Y(t.buffer,ArrayBuffer))return p(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(Y(t,SharedArrayBuffer)||t&&Y(t.buffer,SharedArrayBuffer)))return p(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return s.from(n,e,r);const o=function(t){if(s.isBuffer(t)){const e=0|d(t.length),r=l(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||K(t.length)?l(0):u(t):"Buffer"===t.type&&Array.isArray(t.data)?u(t.data):void 0}(t);if(o)return o;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return s.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function h(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function f(t){return h(t),l(t<0?0:0|d(t))}function u(t){const e=t.length<0?0:0|d(t.length),r=l(e);for(let n=0;n<e;n+=1)r[n]=255&t[n];return r}function p(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('"length" is outside of buffer bounds');let n;return n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r),Object.setPrototypeOf(n,s.prototype),n}function d(t){if(t>=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|t}function g(t,e){if(s.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||Y(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let o=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return q(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return W(t).length;default:if(o)return n?-1:q(t).length;e=(""+e).toLowerCase(),o=!0}}function A(t,e,r){let n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<Line truncated
-172
View File
@@ -1,172 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! *****************************************************************************
Copyright (C) Microsoft. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
/*! cptable.js (C) 2013-present SheetJS -- http://sheetjs.com */
/*! cputils.js (C) 2013-present SheetJS -- http://sheetjs.com */
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
* @author Cynser
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author Matthieu [m@tthieu.xyz]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author bwhitn [brian.m.whitney@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2022
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Character encoding resources.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Unicode Normalisation Forms
*
* @author Matthieu [m@tthieu.xyz]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see Hashing.js.LICENSE.txt */
(()=>{var t={39809:(t,e,r)=>{"use strict";const i=e;i.bignum=r(4590),i.define=r(22500).define,i.base=r(71979),i.constants=r(36826),i.decoders=r(78307),i.encoders=r(56579)},22500:(t,e,r)=>{"use strict";const i=r(56579),n=r(78307),o=r(35717);function s(t,e){this.name=t,this.body=e,this.decoders={},this.encoders={}}e.define=function(t,e){return new s(t,e)},s.prototype._createNamed=function(t){const e=this.name;function r(t){this._initNamed(t,e)}return o(r,t),r.prototype._initNamed=function(e,r){t.call(this,e,r)},new r(this)},s.prototype._getDecoder=function(t){return t=t||"der",this.decoders.hasOwnProperty(t)||(this.decoders[t]=this._createNamed(n[t])),this.decoders[t]},s.prototype.decode=function(t,e,r){return this._getDecoder(e).decode(t,r)},s.prototype._getEncoder=function(t){return t=t||"der",this.encoders.hasOwnProperty(t)||(this.encoders[t]=this._createNamed(i[t])),this.encoders[t]},s.prototype.encode=function(t,e,r){return this._getEncoder(e).encode(t,r)}},36625:(t,e,r)=>{"use strict";const i=r(35717),n=r(98465).b,o=r(2399).Buffer;function s(t,e){n.call(this,e),o.isBuffer(t)?(this.base=t,this.offset=0,this.length=t.length):this.error("Input not Buffer")}function a(t,e){if(Array.isArray(t))this.length=0,this.value=t.map((function(t){return a.isEncoderBuffer(t)||(t=new a(t,e)),this.length+=t.length,t}),this);else if("number"==typeof t){if(!(0<=t&&t<=255))return e.error("non-byte EncoderBuffer value");this.value=t,this.length=1}else if("string"==typeof t)this.value=t,this.length=o.byteLength(t);else{if(!o.isBuffer(t))return e.error("Unsupported type: "+typeof t);this.value=t,this.length=t.length}}i(s,n),e.C=s,s.isDecoderBuffer=function(t){return t instanceof s||"object"==typeof t&&o.isBuffer(t.base)&&"DecoderBuffer"===t.constructor.name&&"number"==typeof t.offset&&"number"==typeof t.length&&"function"==typeof t.save&&"function"==typeof t.restore&&"function"==typeof t.isEmpty&&"function"==typeof t.readUInt8&&"function"==typeof t.skip&&"function"==typeof t.raw},s.prototype.save=function(){return{offset:this.offset,reporter:n.prototype.save.call(this)}},s.prototype.restore=function(t){const e=new s(this.base);return e.offset=t.offset,e.length=this.offset,this.offset=t.offset,n.prototype.restore.call(this,t.reporter),e},s.prototype.isEmpty=function(){return this.offset===this.length},s.prototype.readUInt8=function(t){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(t||"DecoderBuffer overrun")},s.prototype.skip=function(t,e){if(!(this.offset+t<=this.length))return this.error(e||"DecoderBuffer overrun");const r=new s(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+t,this.offset+=t,r},s.prototype.raw=function(t){return this.base.slice(t?t.offset:this.offset,this.length)},e.R=a,a.isEncoderBuffer=function(t){return t instanceof a||"object"==typeof t&&"EncoderBuffer"===t.constructor.name&&"number"==typeof t.length&&"function"==typeof t.join},a.prototype.join=function(t,e){return t||(t=o.alloc(this.length)),e||(e=0),0===this.length||(Array.isArray(this.value)?this.value.forEach((function(r){r.join(t,e),e+=r.length})):("number"==typeof this.value?t[e]=this.value:"string"==typeof this.value?t.write(this.value,e):o.isBuffer(this.value)&&this.value.copy(t,e),e+=this.length)),t}},71979:(t,e,r)=>{"use strict";const i=e;i.Reporter=r(98465).b,i.DecoderBuffer=r(36625).C,i.EncoderBuffer=r(36625).R,i.Node=r(41949)},41949:(t,e,r)=>{"use strict";const i=r(98465).b,n=r(36625).R,o=r(36625).C,s=r(79746),a=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],h=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(a);function u(t,e,r){const i={};this._baseState=i,i.name=r,i.enc=t,i.parent=e||null,i.children=null,i.tag=null,i.args=null,i.reverseArgs=null,i.choice=null,i.optional=!1,i.any=!1,i.obj=!1,i.use=null,i.useDecoder=null,i.key=null,i.default=null,i.explicit=null,i.implicit=null,i.contains=null,i.parent||(i.children=[],this._wrap())}t.exports=u;const f=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];u.prototype.clone=function(){const t=this._baseState,e={};f.forEach((function(r){e[r]=t[r]}));const r=new this.constructor(e.parent);return r._baseState=e,r},u.prototype._wrap=function(){const t=this._baseState;h.forEach((function(e){this[e]=function(){const r=new this.constructor(this);return t.children.push(r),r[e].apply(r,arguments)}}),this)},u.prototype._init=function(t){const e=this._baseState;s(null===e.parent),t.call(this),e.children=e.children.filter((function(t){return t._baseState.parent===this}),this),s.equal(e.children.length,1,"Root node can have only one child")},u.prototype._useArgs=function(t){const e=this._baseState,Line truncated
-138
View File
@@ -1,138 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author h345983745
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author j433866 [j433866@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author mshwed [m@ttshwed.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see Image.js.LICENSE.txt */
(()=>{var __webpack_modules__={63443:(t,e,r)=>{"use strict";var n=r(64836);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i=n(r(38416)),a=n(r(70784)),o=r(49118),s="image/bmp",u="image/x-ms-bmp",l=function(t){return e=a.default.decode(t),(0,o.scan)({bitmap:e},0,0,e.width,e.height,(function(t,r,n){var i=this.bitmap.data[n+0],a=this.bitmap.data[n+1],o=this.bitmap.data[n+2],s=this.bitmap.data[n+3];this.bitmap.data[n+0]=s,this.bitmap.data[n+1]=o,this.bitmap.data[n+2]=a,this.bitmap.data[n+3]=e.is_with_alpha?i:255})).bitmap;var e},c=function(t){return a.default.encode(function(t){return(0,o.scan)(t,0,0,t.bitmap.width,t.bitmap.height,(function(t,e,r){var n=this.bitmap.data[r+0],i=this.bitmap.data[r+1],a=this.bitmap.data[r+2],o=this.bitmap.data[r+3];this.bitmap.data[r+0]=o,this.bitmap.data[r+1]=a,this.bitmap.data[r+2]=i,this.bitmap.data[r+3]=n})).bitmap}(t)).data};e.default=function(){var t,e;return{mime:(0,i.default)({},s,["bmp"]),constants:{MIME_BMP:s,MIME_X_MS_BMP:u},decoders:(t={},(0,i.default)(t,s,l),(0,i.default)(t,u,l),t),encoders:(e={},(0,i.default)(e,s,c),(0,i.default)(e,u,c),e)}},t.exports=e.default},89407:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.srcOver=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;t.a*=r;var n=e.a+t.a-e.a*t.a;return{r:(t.r*t.a+e.r*e.a*(1-t.a))/n,g:(t.g*t.a+e.g*e.a*(1-t.a))/n,b:(t.b*t.a+e.b*e.a*(1-t.a))/n,a:n}},e.dstOver=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;t.a*=r;var n=e.a+t.a-e.a*t.a;return{r:(e.r*e.a+t.r*t.a*(1-e.a))/n,g:(e.g*e.a+t.g*t.a*(1-e.a))/n,b:(e.b*e.a+t.b*t.a*(1-e.a))/n,a:n}},e.multiply=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;t.a*=r;var n=e.a+t.a-e.a*t.a,i=t.r*t.a,a=t.g*t.a,o=t.b*t.a,s=e.r*e.a,u=e.g*e.a,l=e.b*e.a;return{r:(i*s+i*(1-e.a)+s*(1-t.a))/n,g:(a*u+a*(1-e.a)+u*(1-t.a))/n,b:(o*l+o*(1-e.a)+l*(1-t.a))/n,a:n}},e.add=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;t.a*=r;var n=e.a+t.a-e.a*t.a,i=t.r*t.a,a=t.g*t.a,o=t.b*t.a;return{r:(i+e.r*e.a)/n,g:(a+e.g*e.a)/n,b:(o+e.b*e.a)/n,a:n}},e.screen=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;t.a*=r;var n=e.a+t.a-e.a*t.a,i=t.r*t.a,a=t.g*t.a,o=t.b*t.a,s=e.r*e.a,u=e.g*e.a,l=e.b*e.a;return{r:(i*e.a+s*t.a-i*s+i*(1-e.a)+s*(1-t.a))/n,g:(a*e.a+u*t.a-a*u+a*(1-e.a)+u*(1-t.a))/n,b:(o*e.a+l*t.a-o*l+o*(1-e.a)+l*(1-t.a))/n,a:n}},e.overlay=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;t.a*=r;var n=e.a+t.a-e.a*t.a,i=t.r*t.a,a=t.g*t.a,o=t.b*t.a,s=e.r*e.a,u=e.g*e.a,l=e.b*e.a;return{r:(2*s<=e.a?2*i*s+i*(1-e.a)+s*(1-t.a):i*(1+e.a)+s*(1+t.a)-2*s*i-e.a*t.a)/n,g:(2*u<=e.a?2*a*u+a*(1-e.a)+u*(1-t.a):a*(1+e.a)+u*(1+t.a)-2*u*a-e.a*t.a)/n,b:(2*l<=e.a?2*o*l+o*(1-e.a)+l*(1-t.a):o*(1+e.a)+l*(1+t.a)-2*l*o-e.a*t.a)/n,a:n}},e.darken=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;t.a*=r;var n=e.a+t.a-e.a*t.a,i=t.r*t.a,a=t.g*t.a,o=t.b*t.a,s=e.r*e.a,u=e.g*e.a,l=e.b*e.a;return{r:(Math.min(i*e.a,s*t.a)+i*(1-e.a)+s*(1-t.a))/n,g:(Math.min(a*e.a,u*t.a)+a*(1-e.a)+u*(1-t.a))/n,b:(Math.min(o*e.a,l*t.a)+o*(1-e.a)+l*(1-t.a))/n,a:n}},e.lighten=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;t.a*=r;var n=e.a+t.a-e.a*t.a,i=t.r*t.a,a=t.g*t.a,o=t.b*t.a,s=e.r*e.a,u=e.g*e.a,l=e.b*e.a;return{r:(Math.max(i*e.a,s*t.a)+i*(1-e.a)+s*(1-t.a))/n,g:(Math.max(a*e.a,u*t.a)+a*(1-e.a)+u*(1-t.a))/n,b:(Math.max(o*e.a,l*t.a)+o*(1-e.a)+l*(1-t.a))/n,a:n}},e.hardLight=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;t.a*=r;var n=e.a+t.a-e.a*t.a,i=t.r*t.a,a=t.g*t.a,o=t.b*t.a,s=e.r*e.a,u=e.g*e.a,l=e.b*e.a;return{r:(2*i<=t.a?2*i*s+i*(1-e.a)+s*(1-t.a):i*(1+e.a)+s*(1+t.a)-2*s*i-e.a*t.a)/n,g:(2*a<=t.a?2*a*u+a*(1-e.a)+u*(1-t.a):a*(1+e.a)+u*(1+t.a)-2*u*a-e.a*t.a)/n,b:(2*o<=t.a?2*o*l+o*(1-e.a)+l*(1-t.a):o*(1+e.a)+l*(1+t.a)-2*l*o-e.a*t.a)/n,a:n}},e.difference=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;t.a*=r;var n=e.a+t.a-e.a*t.a,i=t.r*t.a,a=t.g*t.a,o=t.b*t.a,s=e.r*e.a,u=e.g*e.a,l=e.b*e.a;return{r:(i+s-2*Math.min(i*e.a,s*t.a))/n,g:(a+u-2*Math.min(a*e.a,u*t.a))/n,b:(o+l-2*Math.min(o*e.a,l*t.a))/n,a:n}},e.exclusion=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;t.a*=r;var n=e.a+t.a-e.a*t.a,i=t.r*t.a,a=t.g*t.a,o=t.b*t.a,s=e.r*e.a,u=e.g*e.a,l=e.b*e.a;return{r:(i*e.a+s*t.a-2*i*s+i*(1-e.a)+s*(1-t.a))/n,g:(a*e.a+u*t.a-2*a*u+a*(1-e.a)+u*(1-t.a))/n,b:(o*e.a+l*t.a-2*o*l+o*(1-e.a)+l*(1-t.a))/n,a:n}}},58380:(t,e,r)=>{"use strict";var n=r(75263);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=arguments.length>4?arguments[4]:void 0;if("function"==typeof n&&(s=n,n={}),!(t instanceof this.constructor))return i.throwError.call(this,"The source must be a Jimp image",s);if("number"!=typeof e||"number"!=typeof r)return i.throwError.call(this,"Line truncated
-450
View File
@@ -1,450 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
* @license MIT
*/
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*!
* Timm
*
* Immutability helpers with fast reads and acceptable writes.
*
* @copyright Guillermo Grau Panea 2016
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
/**
* @author Ge0rg3 [georgeomnet+cyberchef@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author j433866 [j433866@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* @author j433866 [j433866@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author pointhi [thomas.pointhuber@gmx.at]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* cie94.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* ciede2000.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* cmetric.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* common.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* constants.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* ditherErrorDiffusionArray.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* euclidean.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* helper.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* hueStatistics.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* iq.ts - Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* lab2rgb.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* lab2xyz.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* manhattanNeuQuant.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* nearestColor.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* palette.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* pngQuant.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* point.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* pointContainer.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* rgb2hsl.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* rgb2lab.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* rgb2xyz.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* ssim.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* wuQuant.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* xyz2lab.ts - part of Image Quantization Library
*/
/**
* @preserve
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* xyz2rgb.ts - part of Image Quantization Library
*/
/**
* @preserve
* MIT License
*
* Copyright 2015-2018 Igor Bezkrovnyi
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
* IN THE SOFTWARE.
*
* riemersma.ts - part of Image Quantization Library
*/
/**
* @preserve TypeScript port:
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* colorHistogram.ts - part of Image Quantization Library
*/
/**
* @preserve TypeScript port:
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* neuquant.ts - part of Image Quantization Library
*/
/**
* @preserve TypeScript port:
* Copyright 2015-2018 Igor Bezkrovnyi
* All rights reserved. (MIT Licensed)
*
* rgbquant.ts - part of Image Quantization Library
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Hashing resources.
*
* @author n1474335 [n1474335@gmail.com]
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Image manipulation resources
*
* @author j433866 [j433866@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* QR code resources
*
* @author j433866 [j433866@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Various delimiters
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see OCR.js.LICENSE.txt */
(()=>{var e={79742:(e,t)=>{"use strict";t.byteLength=function(e){var t=s(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,i=s(e),a=i[0],u=i[1],c=new o(function(e,t,r){return 3*(t+r)/4-r}(0,a,u)),l=0,f=u>0?a-4:a;for(r=0;r<f;r+=4)t=n[e.charCodeAt(r)]<<18|n[e.charCodeAt(r+1)]<<12|n[e.charCodeAt(r+2)]<<6|n[e.charCodeAt(r+3)],c[l++]=t>>16&255,c[l++]=t>>8&255,c[l++]=255&t;return 2===u&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,c[l++]=255&t),1===u&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,c[l++]=t>>8&255,c[l++]=255&t),c},t.fromByteArray=function(e){for(var t,n=e.length,o=n%3,i=[],a=16383,u=0,s=n-o;u<s;u+=a)i.push(c(e,u,u+a>s?s:u+a));return 1===o?(t=e[n-1],i.push(r[t>>2]+r[t<<4&63]+"==")):2===o&&(t=(e[n-2]<<8)+e[n-1],i.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),i.join("")};for(var r=[],n=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,u=i.length;a<u;++a)r[a]=i[a],n[i.charCodeAt(a)]=a;function s(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e,t,n){for(var o,i,a=[],u=t;u<n;u+=3)o=(e[u]<<16&16711680)+(e[u+1]<<8&65280)+(255&e[u+2]),a.push(r[(i=o)>>18&63]+r[i>>12&63]+r[i>>6&63]+r[63&i]);return a.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},48764:(e,t,r)=>{"use strict";const n=r(79742),o=r(80645),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=s,t.INSPECT_MAX_BYTES=50;const a=2147483647;function u(e){if(e>a)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,s.prototype),t}function s(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return f(e)}return c(e,t,r)}function c(e,t,r){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!s.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const r=0|m(e,t);let n=u(r);const o=n.write(e,t);return o!==r&&(n=n.slice(0,o)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(q(e,Uint8Array)){const t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return p(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(q(e,ArrayBuffer)||e&&q(e.buffer,ArrayBuffer))return h(e,t,r);if("undefined"!=typeof SharedArrayBuffer&&(q(e,SharedArrayBuffer)||e&&q(e.buffer,SharedArrayBuffer)))return h(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return s.from(n,t,r);const o=function(e){if(s.isBuffer(e)){const t=0|d(e.length),r=u(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||K(e.length)?u(0):p(e):"Buffer"===e.type&&Array.isArray(e.data)?p(e.data):void 0}(e);if(o)return o;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return s.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function f(e){return l(e),u(e<0?0:0|d(e))}function p(e){const t=e.length<0?0:0|d(e.length),r=u(t);for(let n=0;n<t;n+=1)r[n]=255&e[n];return r}function h(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('"length" is outside of buffer bounds');let n;return n=void 0===t&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,t):new Uint8Array(e,t,r),Object.setPrototypeOf(n,s.prototype),n}function d(e){if(e>=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function m(e,t){if(s.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||q(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let o=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return V(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return W(e).length;default:if(o)return n?-1:V(e).length;t=(""+t).toLowerCase(),o=!0}}function g(e,t,r){let n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<Line truncated
-120
View File
@@ -1,120 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author mshwed [m@ttshwed.com]
* @author Matt C [me@mitt.dev]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see PGP.js.LICENSE.txt */
(()=>{var t={39809:(t,e,r)=>{"use strict";const n=e;n.bignum=r(4590),n.define=r(22500).define,n.base=r(71979),n.constants=r(36826),n.decoders=r(78307),n.encoders=r(56579)},22500:(t,e,r)=>{"use strict";const n=r(56579),i=r(78307),o=r(35717);function s(t,e){this.name=t,this.body=e,this.decoders={},this.encoders={}}e.define=function(t,e){return new s(t,e)},s.prototype._createNamed=function(t){const e=this.name;function r(t){this._initNamed(t,e)}return o(r,t),r.prototype._initNamed=function(e,r){t.call(this,e,r)},new r(this)},s.prototype._getDecoder=function(t){return t=t||"der",this.decoders.hasOwnProperty(t)||(this.decoders[t]=this._createNamed(i[t])),this.decoders[t]},s.prototype.decode=function(t,e,r){return this._getDecoder(e).decode(t,r)},s.prototype._getEncoder=function(t){return t=t||"der",this.encoders.hasOwnProperty(t)||(this.encoders[t]=this._createNamed(n[t])),this.encoders[t]},s.prototype.encode=function(t,e,r){return this._getEncoder(e).encode(t,r)}},36625:(t,e,r)=>{"use strict";const n=r(35717),i=r(98465).b,o=r(2399).Buffer;function s(t,e){i.call(this,e),o.isBuffer(t)?(this.base=t,this.offset=0,this.length=t.length):this.error("Input not Buffer")}function a(t,e){if(Array.isArray(t))this.length=0,this.value=t.map((function(t){return a.isEncoderBuffer(t)||(t=new a(t,e)),this.length+=t.length,t}),this);else if("number"==typeof t){if(!(0<=t&&t<=255))return e.error("non-byte EncoderBuffer value");this.value=t,this.length=1}else if("string"==typeof t)this.value=t,this.length=o.byteLength(t);else{if(!o.isBuffer(t))return e.error("Unsupported type: "+typeof t);this.value=t,this.length=t.length}}n(s,i),e.C=s,s.isDecoderBuffer=function(t){return t instanceof s||"object"==typeof t&&o.isBuffer(t.base)&&"DecoderBuffer"===t.constructor.name&&"number"==typeof t.offset&&"number"==typeof t.length&&"function"==typeof t.save&&"function"==typeof t.restore&&"function"==typeof t.isEmpty&&"function"==typeof t.readUInt8&&"function"==typeof t.skip&&"function"==typeof t.raw},s.prototype.save=function(){return{offset:this.offset,reporter:i.prototype.save.call(this)}},s.prototype.restore=function(t){const e=new s(this.base);return e.offset=t.offset,e.length=this.offset,this.offset=t.offset,i.prototype.restore.call(this,t.reporter),e},s.prototype.isEmpty=function(){return this.offset===this.length},s.prototype.readUInt8=function(t){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(t||"DecoderBuffer overrun")},s.prototype.skip=function(t,e){if(!(this.offset+t<=this.length))return this.error(e||"DecoderBuffer overrun");const r=new s(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+t,this.offset+=t,r},s.prototype.raw=function(t){return this.base.slice(t?t.offset:this.offset,this.length)},e.R=a,a.isEncoderBuffer=function(t){return t instanceof a||"object"==typeof t&&"EncoderBuffer"===t.constructor.name&&"number"==typeof t.length&&"function"==typeof t.join},a.prototype.join=function(t,e){return t||(t=o.alloc(this.length)),e||(e=0),0===this.length||(Array.isArray(this.value)?this.value.forEach((function(r){r.join(t,e),e+=r.length})):("number"==typeof this.value?t[e]=this.value:"string"==typeof this.value?t.write(this.value,e):o.isBuffer(this.value)&&this.value.copy(t,e),e+=this.length)),t}},71979:(t,e,r)=>{"use strict";const n=e;n.Reporter=r(98465).b,n.DecoderBuffer=r(36625).C,n.EncoderBuffer=r(36625).R,n.Node=r(41949)},41949:(t,e,r)=>{"use strict";const n=r(98465).b,i=r(36625).R,o=r(36625).C,s=r(79746),a=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],u=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(a);function f(t,e,r){const n={};this._baseState=n,n.name=r,n.enc=t,n.parent=e||null,n.children=null,n.tag=null,n.args=null,n.reverseArgs=null,n.choice=null,n.optional=!1,n.any=!1,n.obj=!1,n.use=null,n.useDecoder=null,n.key=null,n.default=null,n.explicit=null,n.implicit=null,n.contains=null,n.parent||(n.children=[],this._wrap())}t.exports=f;const h=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];f.prototype.clone=function(){const t=this._baseState,e={};h.forEach((function(r){e[r]=t[r]}));const r=new this.constructor(e.parent);return r._baseState=e,r},f.prototype._wrap=function(){const t=this._baseState;u.forEach((function(e){this[e]=function(){const r=new this.constructor(this);return t.children.push(r),r[e].apply(r,arguments)}}),this)},f.prototype._init=function(t){const e=this._baseState;s(null===e.parent),t.call(this),e.children=e.children.filter((function(t){return t._baseState.parent===this}),this),s.equal(e.children.length,1,"Root node can have only one child")},f.prototype._useArgs=function(t){const e=this._baseState,Line truncated
-171
View File
@@ -1,171 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
* @license MIT
*/
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
/**
* bwt_reverse code from wikipedia (slightly modified)
* @url http://en.wikipedia.org/wiki/Burrows%E2%80%93Wheeler_transform
* @license: CC-SA 3.0
*/
/**
* this is a port of pyflate
* @url http://www.paul.sladen.org/projects/pyflate/
* @author kirilloid
* @license CC-SA 3.0
* @usage ArchUtils.bz2.decode(str)
* @example ArchUtils.bz2.decode(
* "BZh91AY&SYN\xEC\xE86\0\0\2Q\x80\0\x10@\0\6D\x90\x80 " +
* "\x001\6LA\1\xA7\xA9\xA5\x80\xBB\x941\xF8\xBB\x92)\xC2\x84\x82wgA\xB0"
* ) == "hello world\n";
*/
/**
* @author Matt C [me@mitt.dev]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author tlwr [toby@toby.codes]
* @author Matt C [matt@artemisbot.uk]
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
/**
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* PGP functions.
*
* @author tlwr [toby@toby.codes]
* @author Matt C [matt@artemisbot.uk]
* @author n1474335 [n1474335@gmail.com]
*
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see Protobuf.js.LICENSE.txt */
(()=>{var __webpack_modules__={34537:e=>{"use strict";e.exports=function(e,t){for(var r=new Array(arguments.length-1),n=0,i=2,o=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise((function(i,s){r[n]=function(e){if(o)if(o=!1,e)s(e);else{for(var t=new Array(arguments.length-1),r=0;r<t.length;)t[r++]=arguments[r];i.apply(null,t)}};try{e.apply(t||null,r)}catch(e){o&&(o=!1,s(e))}}))}},97419:(e,t)=>{"use strict";var r=t;r.length=function(e){var t=e.length;if(!t)return 0;for(var r=0;--t%4>1&&"="===e.charAt(t);)++r;return Math.ceil(3*e.length)/4-r};for(var n=new Array(64),i=new Array(123),o=0;o<64;)i[n[o]=o<26?o+65:o<52?o+71:o<62?o-4:o-59|43]=o++;r.encode=function(e,t,r){for(var i,o=null,s=[],a=0,u=0;t<r;){var c=e[t++];switch(u){case 0:s[a++]=n[c>>2],i=(3&c)<<4,u=1;break;case 1:s[a++]=n[i|c>>4],i=(15&c)<<2,u=2;break;case 2:s[a++]=n[i|c>>6],s[a++]=n[63&c],u=0}a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0)}return u&&(s[a++]=n[i],s[a++]=61,1===u&&(s[a++]=61)),o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};var s="invalid encoding";r.decode=function(e,t,r){for(var n,o=r,a=0,u=0;u<e.length;){var c=e.charCodeAt(u++);if(61===c&&a>1)break;if(void 0===(c=i[c]))throw Error(s);switch(a){case 0:n=c,a=1;break;case 1:t[r++]=n<<2|(48&c)>>4,n=c,a=2;break;case 2:t[r++]=(15&n)<<4|(60&c)>>2,n=c,a=3;break;case 3:t[r++]=(3&n)<<6|c,a=0}}if(1===a)throw Error(s);return r-o},r.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}},75124:e=>{"use strict";function t(e,r){"string"==typeof e&&(r=e,e=void 0);var n=[];function i(e){if("string"!=typeof e){var r=o();if(t.verbose&&console.log("codegen: "+r),r="return "+r,e){for(var s=Object.keys(e),a=new Array(s.length+1),u=new Array(s.length),c=0;c<s.length;)a[c]=s[c],u[c]=e[s[c++]];return a[c]=r,Function.apply(null,a).apply(null,u)}return Function(r)()}for(var f=new Array(arguments.length-1),l=0;l<f.length;)f[l]=arguments[++l];if(l=0,e=e.replace(/%([%dfijs])/g,(function(e,t){var r=f[l++];switch(t){case"d":case"f":return String(Number(r));case"i":return String(Math.floor(r));case"j":return JSON.stringify(r);case"s":return String(r)}return"%"})),l!==f.length)throw Error("parameter count mismatch");return n.push(e),i}function o(t){return"function "+(t||r||"")+"("+(e&&e.join(",")||"")+"){\n "+n.join("\n ")+"\n}"}return i.toString=o,i}e.exports=t,t.verbose=!1},19211:e=>{"use strict";function t(){this._listeners={}}e.exports=t,t.prototype.on=function(e,t,r){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:t,ctx:r||this}),this},t.prototype.off=function(e,t){if(void 0===e)this._listeners={};else if(void 0===t)this._listeners[e]=[];else for(var r=this._listeners[e],n=0;n<r.length;)r[n].fn===t?r.splice(n,1):++n;return this},t.prototype.emit=function(e){var t=this._listeners[e];if(t){for(var r=[],n=1;n<arguments.length;)r.push(arguments[n++]);for(n=0;n<t.length;)t[n].fn.apply(t[n++].ctx,r)}return this}},49054:(e,t,r)=>{"use strict";e.exports=o;var n=r(34537),i=r(67199)("fs");function o(e,t,r){return"function"==typeof t?(r=t,t={}):t||(t={}),r?!t.xhr&&i&&i.readFile?i.readFile(e,(function(n,i){return n&&"undefined"!=typeof XMLHttpRequest?o.xhr(e,t,r):n?r(n):r(null,t.binary?i:i.toString("utf8"))})):o.xhr(e,t,r):n(o,this,e,t)}o.xhr=function(e,t,r){var n=new XMLHttpRequest;n.onreadystatechange=function(){if(4===n.readyState){if(0!==n.status&&200!==n.status)return r(Error("status "+n.status));if(t.binary){var e=n.response;if(!e){e=[];for(var i=0;i<n.responseText.length;++i)e.push(255&n.responseText.charCodeAt(i))}return r(null,"undefined"!=typeof Uint8Array?new Uint8Array(e):e)}return r(null,n.responseText)}},t.binary&&("overrideMimeType"in n&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.responseType="arraybuffer"),n.open("GET",e),n.send()}},10945:e=>{"use strict";function t(e){return"undefined"!=typeof Float32Array?function(){var t=new Float32Array([-0]),r=new Uint8Array(t.buffer),n=128===r[3];function i(e,n,i){t[0]=e,n[i]=r[0],n[i+1]=r[1],n[i+2]=r[2],n[i+3]=r[3]}function o(e,n,i){t[0]=e,n[i]=r[3],n[i+1]=r[2],n[i+2]=r[1],n[i+3]=r[0]}function s(e,n){return r[0]=e[n],r[1]=e[n+1],r[2]=e[n+2],r[3]=e[n+3],t[0]}function a(e,n){return r[3]=e[n],r[2]=e[n+1],r[1]=e[n+2],r[0]=e[n+3],t[0]}e.writeFloatLE=n?i:o,e.writeFloatBE=n?o:i,e.readFloatLE=n?s:a,e.readFloatBE=n?a:s}():function(){function t(e,t,r,n){var i=t<0?1:0;if(i&&(t=-t),0===t)e(1/t>0?0:2147483648,r,n);else if(isNaN(t))e(2143289344,r,n);else if(t>34028234663852886e22)e((i<<31|2139095040)>>>0,r,n);else if(t<11754943508222875e-54)e((i<<31|Math.round(t/1401298464324817e-60))>>>0,r,n);else{var o=Math.floor(Math.log(t)/Math.LN2);e((i<<31|o+127<<23|8388607&Math.round(t*Math.pow(2,-o)*8388608))>>>0,r,n)}}function s(e,t,r){var n=e(t,r),i=2*(n>>31)+1,o=n>>>23&255,s=8388607&n;return 255===o?s?NaN:i*(1/0):0===o?1401298464324817e-60*i*s:i*Math.pow(2,o-150)*(s+8388608)}e.writeFloatLE=t.bind(null,r),e.Line truncated
-136
View File
@@ -1,136 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
* @author GCHQ Contributor [3]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author GCHQ Contributor [3]
* @copyright Crown Copyright 2021
* @license Apache-2.0
*/
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Protobuf lib. Contains functions to decode protobuf serialised
* data without a schema or .proto file.
*
* Provides utility functions to encode and decode variable length
* integers (varint).
*
* @author GCHQ Contributor [3]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see PublicKey.js.LICENSE.txt */
(()=>{var t={79742:(t,e)=>{"use strict";e.byteLength=function(t){var e=u(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,s=u(t),a=s[0],o=s[1],c=new i(function(t,e,r){return 3*(e+r)/4-r}(0,a,o)),h=0,l=o>0?a-4:a;for(r=0;r<l;r+=4)e=n[t.charCodeAt(r)]<<18|n[t.charCodeAt(r+1)]<<12|n[t.charCodeAt(r+2)]<<6|n[t.charCodeAt(r+3)],c[h++]=e>>16&255,c[h++]=e>>8&255,c[h++]=255&e;return 2===o&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,c[h++]=255&e),1===o&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,c[h++]=e>>8&255,c[h++]=255&e),c},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,s=[],a=16383,o=0,u=n-i;o<u;o+=a)s.push(c(t,o,o+a>u?u:o+a));return 1===i?(e=t[n-1],s.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],s.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),s.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,o=s.length;a<o;++a)r[a]=s[a],n[s.charCodeAt(a)]=a;function u(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,n){for(var i,s,a=[],o=e;o<n;o+=3)i=(t[o]<<16&16711680)+(t[o+1]<<8&65280)+(255&t[o+2]),a.push(r[(s=i)>>18&63]+r[s>>12&63]+r[s>>6&63]+r[63&s]);return a.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},48764:(t,e,r)=>{"use strict";const n=r(79742),i=r(80645),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=u,e.INSPECT_MAX_BYTES=50;const a=2147483647;function o(t){if(t>a)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,u.prototype),e}function u(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return l(t)}return c(t,e,r)}function c(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!u.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const r=0|d(t,e);let n=o(r);const i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(J(t,Uint8Array)){const e=new Uint8Array(t);return p(e.buffer,e.byteOffset,e.byteLength)}return f(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(J(t,ArrayBuffer)||t&&J(t.buffer,ArrayBuffer))return p(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(J(t,SharedArrayBuffer)||t&&J(t.buffer,SharedArrayBuffer)))return p(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return u.from(n,e,r);const i=function(t){if(u.isBuffer(t)){const e=0|g(t.length),r=o(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||Y(t.length)?o(0):f(t):"Buffer"===t.type&&Array.isArray(t.data)?f(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return u.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function h(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function l(t){return h(t),o(t<0?0:0|g(t))}function f(t){const e=t.length<0?0:0|g(t.length),r=o(e);for(let n=0;n<e;n+=1)r[n]=255&t[n];return r}function p(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('"length" is outside of buffer bounds');let n;return n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r),Object.setPrototypeOf(n,u.prototype),n}function g(t){if(t>=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|t}function d(t,e){if(u.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||J(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return $(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return z(t).length;default:if(i)return n?-1:$(t).length;e=(""+e).toLowerCase(),i=!0}}function m(t,e,r){let n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<Line truncated
-140
View File
@@ -1,140 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! (c) Stefan Thomas | https://github.com/bitcoinjs/bitcoinjs-lib
*/
/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/
*/
/*! (c) Tom Wu, Kenji Urushima | http://www-cs-students.stanford.edu/~tjw/jsbn/
*/
/*! Mike Samuel (c) 2009 | code.google.com/p/json-sans-eval
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Hexadecimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Public key resources.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see Regex.js.LICENSE.txt */
(()=>{var u={66419:(u,e,t)=>{u.exports=t(27698)},41511:(u,e,t)=>{u.exports=t(83363)},82285:(u,e,t)=>{u.exports=t(8065)},7175:(u,e,t)=>{u.exports=t(48842)},78914:(u,e,t)=>{u.exports=t(46279)},81643:(u,e,t)=>{u.exports=t(19373)},2991:(u,e,t)=>{u.exports=t(8918)},32366:(u,e,t)=>{u.exports=t(34434)},3649:(u,e,t)=>{u.exports=t(82073)},47302:(u,e,t)=>{u.exports=t(62856)},54943:(u,e,t)=>{u.exports=t(14471)},63978:(u,e,t)=>{u.exports=t(41910)},94198:(u,e,t)=>{u.exports=t(74888)},65420:(u,e,t)=>{u.exports=t(92547)},53592:(u,e,t)=>{u.exports=t(27385)},78363:(u,e,t)=>{u.exports=t(81522)},19996:(u,e,t)=>{u.exports=t(32209)},67192:(u,e,t)=>{u.exports=t(81493)},51446:(u,e,t)=>{u.exports=t(86600)},34243:u=>{u.exports=function(u,e){(null==e||e>u.length)&&(e=u.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=u[t];return r},u.exports.__esModule=!0,u.exports.default=u.exports},57726:(u,e,t)=>{var r=t(78363);u.exports=function(u){if(r(u))return u},u.exports.__esModule=!0,u.exports.default=u.exports},60530:u=>{u.exports=function(u){return u&&u.__esModule?u:{default:u}},u.exports.__esModule=!0,u.exports.default=u.exports},65056:(u,e,t)=>{var r=t(51446),d=t(19996);u.exports=function(u,e){var t=null==u?null:void 0!==r&&d(u)||u["@@iterator"];if(null!=t){var n,a,o=[],i=!0,c=!1;try{for(t=t.call(u);!(i=(n=t.next()).done)&&(o.push(n.value),!e||o.length!==e);i=!0);}catch(u){c=!0,a=u}finally{try{i||null==t.return||t.return()}finally{if(c)throw a}}return o}},u.exports.__esModule=!0,u.exports.default=u.exports},79736:u=>{u.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},u.exports.__esModule=!0,u.exports.default=u.exports},18777:(u,e,t)=>{var r=t(57726),d=t(65056),n=t(79299),a=t(79736);u.exports=function(u,e){return r(u)||d(u,e)||n(u,e)||a()},u.exports.__esModule=!0,u.exports.default=u.exports},79299:(u,e,t)=>{var r=t(67192),d=t(53592),n=t(34243);u.exports=function(u,e){var t;if(u){if("string"==typeof u)return n(u,e);var a=r(t=Object.prototype.toString.call(u)).call(t,8,-1);return"Object"===a&&u.constructor&&(a=u.constructor.name),"Map"===a||"Set"===a?d(u):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?n(u,e):void 0}},u.exports.__esModule=!0,u.exports.default=u.exports},79742:(u,e)=>{"use strict";e.byteLength=function(u){var e=i(u),t=e[0],r=e[1];return 3*(t+r)/4-r},e.toByteArray=function(u){var e,t,n=i(u),a=n[0],o=n[1],c=new d(function(u,e,t){return 3*(e+t)/4-t}(0,a,o)),f=0,s=o>0?a-4:a;for(t=0;t<s;t+=4)e=r[u.charCodeAt(t)]<<18|r[u.charCodeAt(t+1)]<<12|r[u.charCodeAt(t+2)]<<6|r[u.charCodeAt(t+3)],c[f++]=e>>16&255,c[f++]=e>>8&255,c[f++]=255&e;return 2===o&&(e=r[u.charCodeAt(t)]<<2|r[u.charCodeAt(t+1)]>>4,c[f++]=255&e),1===o&&(e=r[u.charCodeAt(t)]<<10|r[u.charCodeAt(t+1)]<<4|r[u.charCodeAt(t+2)]>>2,c[f++]=e>>8&255,c[f++]=255&e),c},e.fromByteArray=function(u){for(var e,r=u.length,d=r%3,n=[],a=16383,o=0,i=r-d;o<i;o+=a)n.push(c(u,o,o+a>i?i:o+a));return 1===d?(e=u[r-1],n.push(t[e>>2]+t[e<<4&63]+"==")):2===d&&(e=(u[r-2]<<8)+u[r-1],n.push(t[e>>10]+t[e>>4&63]+t[e<<2&63]+"=")),n.join("")};for(var t=[],r=[],d="undefined"!=typeof Uint8Array?Uint8Array:Array,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,o=n.length;a<o;++a)t[a]=n[a],r[n.charCodeAt(a)]=a;function i(u){var e=u.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=u.indexOf("=");return-1===t&&(t=e),[t,t===e?0:4-t%4]}function c(u,e,r){for(var d,n,a=[],o=e;o<r;o+=3)d=(u[o]<<16&16711680)+(u[o+1]<<8&65280)+(255&u[o+2]),a.push(t[(n=d)>>18&63]+t[n>>12&63]+t[n>>6&63]+t[63&n]);return a.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},48764:(u,e,t)=>{"use strict";const r=t(79742),d=t(80645),n="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=i,e.INSPECT_MAX_BYTES=50;const a=2147483647;function o(u){if(u>a)throw new RangeError('The value "'+u+'" is invalid for option "size"');const e=new Uint8Array(u);return Object.setPrototypeOf(e,i.prototype),e}function i(u,e,t){if("number"==typeof u){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return s(u)}return c(u,e,t)}function c(u,e,t){if("string"==typeof u)return function(u,e){if("string"==typeof e&&""!==e||(e="utf8"),!i.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const t=0|D(u,e);let r=o(t);const d=r.write(u,e);return d!==t&&(r=r.slice(0,d)),r}(u,e);if(ArrayBuffer.isView(u))return function(u){if(q(u,Uint8Array)){const e=new Uint8Array(u);return p(e.buffer,e.byteOffset,e.byteLength)}return l(u)}(u);if(null==u)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof u);if(q(u,ArrayBuffer)||u&&q(u.buffer,ArrayBuffer))return p(u,e,t);if("undefined"!=typeof SharedArrayBuffer&&(q(u,SharedArrayBuffer)||u&&q(u.buffer,SharedALine truncated
-177
View File
@@ -1,177 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*!
* XRegExp 5.1.1
* <xregexp.com>
* Steven Levithan (c) 2007-present MIT License
*/
/*!
* XRegExp Unicode Base 5.1.1
* <xregexp.com>
* Steven Levithan (c) 2008-present MIT License
*/
/*!
* XRegExp Unicode Categories 5.1.1
* <xregexp.com>
* Steven Levithan (c) 2010-present MIT License
* Unicode data by Mathias Bynens <mathiasbynens.be>
*/
/*!
* XRegExp Unicode Properties 5.1.1
* <xregexp.com>
* Steven Levithan (c) 2012-present MIT License
* Unicode data by Mathias Bynens <mathiasbynens.be>
*/
/*!
* XRegExp Unicode Scripts 5.1.1
* <xregexp.com>
* Steven Levithan (c) 2010-present MIT License
* Unicode data by Mathias Bynens <mathiasbynens.be>
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Identifier extraction functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
*/
/**
* Sorting functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2022
* @license Apache-2.0
*
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Various delimiters
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see Serialise.js.LICENSE.txt */
(()=>{var e={48583:(e,t,r)=>{"use strict";function n(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,o=Math.min(r,n);i<o;++i)if(e[i]!==t[i]){r=e[i],n=t[i];break}return r<n?-1:n<r?1:0}function i(e){return r.g.Buffer&&"function"==typeof r.g.Buffer.isBuffer?r.g.Buffer.isBuffer(e):!(null==e||!e._isBuffer)}var o=r(89539),s=Object.prototype.hasOwnProperty,a=Array.prototype.slice,u="foo"===function(){}.name;function c(e){return Object.prototype.toString.call(e)}function f(e){return!i(e)&&"function"==typeof r.g.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):!!e&&(e instanceof DataView||!!(e.buffer&&e.buffer instanceof ArrayBuffer)))}var l=e.exports=m,h=/\s*function\s+([^\(\s]*)\s*/;function p(e){if(o.isFunction(e)){if(u)return e.name;var t=e.toString().match(h);return t&&t[1]}}function d(e,t){return"string"==typeof e?e.length<t?e:e.slice(0,t):e}function y(e){if(u||!o.isFunction(e))return o.inspect(e);var t=p(e);return"[Function"+(t?": "+t:"")+"]"}function g(e,t,r,n,i){throw new l.AssertionError({message:r,actual:e,expected:t,operator:n,stackStartFunction:i})}function m(e,t){e||g(e,!0,t,"==",l.ok)}function v(e,t,r,s){if(e===t)return!0;if(i(e)&&i(t))return 0===n(e,t);if(o.isDate(e)&&o.isDate(t))return e.getTime()===t.getTime();if(o.isRegExp(e)&&o.isRegExp(t))return e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase;if(null!==e&&"object"==typeof e||null!==t&&"object"==typeof t){if(f(e)&&f(t)&&c(e)===c(t)&&!(e instanceof Float32Array||e instanceof Float64Array))return 0===n(new Uint8Array(e.buffer),new Uint8Array(t.buffer));if(i(e)!==i(t))return!1;var u=(s=s||{actual:[],expected:[]}).actual.indexOf(e);return-1!==u&&u===s.expected.indexOf(t)||(s.actual.push(e),s.expected.push(t),function(e,t,r,n){if(null==e||null==t)return!1;if(o.isPrimitive(e)||o.isPrimitive(t))return e===t;if(r&&Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;var i=b(e),s=b(t);if(i&&!s||!i&&s)return!1;if(i)return v(e=a.call(e),t=a.call(t),r);var u,c,f=E(e),l=E(t);if(f.length!==l.length)return!1;for(f.sort(),l.sort(),c=f.length-1;c>=0;c--)if(f[c]!==l[c])return!1;for(c=f.length-1;c>=0;c--)if(!v(e[u=f[c]],t[u],r,n))return!1;return!0}(e,t,r,s))}return r?e===t:e==t}function b(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function _(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function w(e,t,r,n){var i;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),i=function(e){var t;try{e()}catch(e){t=e}return t}(t),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),e&&!i&&g(i,r,"Missing expected exception"+n);var s="string"==typeof n,a=!e&&i&&!r;if((!e&&o.isError(i)&&s&&_(i,r)||a)&&g(i,r,"Got unwanted exception"+n),e&&i&&r&&!_(i,r)||!e&&i)throw i}l.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return d(y(e.actual),128)+" "+e.operator+" "+d(y(e.expected),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||g;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var r=new Error;if(r.stack){var n=r.stack,i=p(t),o=n.indexOf("\n"+i);if(o>=0){var s=n.indexOf("\n",o+1);n=n.substring(s+1)}this.stack=n}}},o.inherits(l.AssertionError,Error),l.fail=g,l.ok=m,l.equal=function(e,t,r){e!=t&&g(e,t,r,"==",l.equal)},l.notEqual=function(e,t,r){e==t&&g(e,t,r,"!=",l.notEqual)},l.deepEqual=function(e,t,r){v(e,t,!1)||g(e,t,r,"deepEqual",l.deepEqual)},l.deepStrictEqual=function(e,t,r){v(e,t,!0)||g(e,t,r,"deepStrictEqual",l.deepStrictEqual)},l.notDeepEqual=function(e,t,r){v(e,t,!1)&&g(e,t,r,"notDeepEqual",l.notDeepEqual)},l.notDeepStrictEqual=function e(t,r,n){v(t,r,!0)&&g(t,r,n,"notDeepStrictEqual",e)},l.strictEqual=function(e,t,r){e!==t&&g(e,t,r,"===",l.strictEqual)},l.notStrictEqual=function(e,t,r){e===t&&g(e,t,r,"!==",l.notStrictEqual)},l.throws=function(e,t,r){w(!0,e,t,r)},l.doesNotThrow=function(e,t,r){w(!1,e,t,r)},l.ifError=function(e){if(e)throw e};var E=Object.keys||function(e){var t=[];for(var r in e)s.call(e,r)&&t.push(r);return t}},17457:(e,t,r)=>{"use strict";var n=r(98844),i=r(6724),o=r(5117),s=r(18189);e.exports={Service:i.Service,assembleProtocol:o.assembleProtocol,discoverProtocol:i.discoverProtocol,parse:function(e,t){var r=o.read(e);return r.protocol?i.Service.forProtocol(r,t):n.Type.forSchema(r,t)},readProtocol:o.readProtocol,readSchema:o.readSchema},s.copyOwnProperties(n,e.exports)},98844:(e,t,r)=>{"use strict";var n=r(87608);e.exports={Type:n.Type,parse:function(e,t){var r;if("string"==typeof e)try{r=JSON.parse(e)}catch(t){r=e}else r=e;return n.Type.forSchema(r,t)},types:n.builtins,combine:n.Type.forTypes,infer:n.Type.forValue}},97064:(e,t,r)=>{Line truncated
-160
View File
@@ -1,160 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
* @license MIT
*/
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
/**
* @author Danh4 [dan.h4@ncsc.gov.uk]
* @copyright Crown Copyright 2020
* @license Apache-2.0
*/
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author dmfj [dominic@dmfj.io]
* @copyright Crown Copyright 2020
* @license Apache-2.0
*/
/**
* @author jarrodconnolly [jarrod@nestedquotes.ca]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see Shellcode.js.LICENSE.txt */
(()=>{var e={79742:(e,t)=>{"use strict";t.byteLength=function(e){var t=s(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,o=s(e),a=o[0],u=o[1],c=new i(function(e,t,r){return 3*(t+r)/4-r}(0,a,u)),A=0,l=u>0?a-4:a;for(r=0;r<l;r+=4)t=n[e.charCodeAt(r)]<<18|n[e.charCodeAt(r+1)]<<12|n[e.charCodeAt(r+2)]<<6|n[e.charCodeAt(r+3)],c[A++]=t>>16&255,c[A++]=t>>8&255,c[A++]=255&t;return 2===u&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,c[A++]=255&t),1===u&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,c[A++]=t>>8&255,c[A++]=255&t),c},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,o=[],a=16383,u=0,s=n-i;u<s;u+=a)o.push(c(e,u,u+a>s?s:u+a));return 1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),o.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,u=o.length;a<u;++a)r[a]=o[a],n[o.charCodeAt(a)]=a;function s(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e,t,n){for(var i,o,a=[],u=t;u<n;u+=3)i=(e[u]<<16&16711680)+(e[u+1]<<8&65280)+(255&e[u+2]),a.push(r[(o=i)>>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return a.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},48764:(e,t,r)=>{"use strict";const n=r(79742),i=r(80645),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=s,t.INSPECT_MAX_BYTES=50;const a=2147483647;function u(e){if(e>a)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,s.prototype),t}function s(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return l(e)}return c(e,t,r)}function c(e,t,r){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!s.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const r=0|p(e,t);let n=u(r);const i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(Y(e,Uint8Array)){const t=new Uint8Array(e);return B(t.buffer,t.byteOffset,t.byteLength)}return f(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Y(e,ArrayBuffer)||e&&Y(e.buffer,ArrayBuffer))return B(e,t,r);if("undefined"!=typeof SharedArrayBuffer&&(Y(e,SharedArrayBuffer)||e&&Y(e.buffer,SharedArrayBuffer)))return B(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return s.from(n,t,r);const i=function(e){if(s.isBuffer(e)){const t=0|S(e.length),r=u(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||z(e.length)?u(0):f(e):"Buffer"===e.type&&Array.isArray(e.data)?f(e.data):void 0}(e);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return s.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function A(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function l(e){return A(e),u(e<0?0:0|S(e))}function f(e){const t=e.length<0?0:0|S(e.length),r=u(t);for(let n=0;n<t;n+=1)r[n]=255&e[n];return r}function B(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('"length" is outside of buffer bounds');let n;return n=void 0===t&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,t):new Uint8Array(e,t,r),Object.setPrototypeOf(n,s.prototype),n}function S(e){if(e>=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function p(e,t){if(s.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Y(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return _(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return j(e).length;default:if(i)return n?-1:_(e).length;t=(""+t).toLowerCase(),i=!0}}function D(e,t,r){let n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<Line truncated
-118
View File
@@ -1,118 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see URL.js.LICENSE.txt */
(()=>{var e={79742:(e,t)=>{"use strict";t.byteLength=function(e){var t=s(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,o=s(e),a=o[0],u=o[1],c=new i(function(e,t,r){return 3*(t+r)/4-r}(0,a,u)),l=0,f=u>0?a-4:a;for(r=0;r<f;r+=4)t=n[e.charCodeAt(r)]<<18|n[e.charCodeAt(r+1)]<<12|n[e.charCodeAt(r+2)]<<6|n[e.charCodeAt(r+3)],c[l++]=t>>16&255,c[l++]=t>>8&255,c[l++]=255&t;return 2===u&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,c[l++]=255&t),1===u&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,c[l++]=t>>8&255,c[l++]=255&t),c},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,o=[],a=16383,u=0,s=n-i;u<s;u+=a)o.push(c(e,u,u+a>s?s:u+a));return 1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),o.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,u=o.length;a<u;++a)r[a]=o[a],n[o.charCodeAt(a)]=a;function s(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e,t,n){for(var i,o,a=[],u=t;u<n;u+=3)i=(e[u]<<16&16711680)+(e[u+1]<<8&65280)+(255&e[u+2]),a.push(r[(o=i)>>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return a.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},48764:(e,t,r)=>{"use strict";const n=r(79742),i=r(80645),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=s,t.INSPECT_MAX_BYTES=50;const a=2147483647;function u(e){if(e>a)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,s.prototype),t}function s(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return f(e)}return c(e,t,r)}function c(e,t,r){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!s.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const r=0|m(e,t);let n=u(r);const i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(J(e,Uint8Array)){const t=new Uint8Array(e);return p(t.buffer,t.byteOffset,t.byteLength)}return h(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(J(e,ArrayBuffer)||e&&J(e.buffer,ArrayBuffer))return p(e,t,r);if("undefined"!=typeof SharedArrayBuffer&&(J(e,SharedArrayBuffer)||e&&J(e.buffer,SharedArrayBuffer)))return p(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return s.from(n,t,r);const i=function(e){if(s.isBuffer(e)){const t=0|d(e.length),r=u(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||Z(e.length)?u(0):h(e):"Buffer"===e.type&&Array.isArray(e.data)?h(e.data):void 0}(e);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return s.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function f(e){return l(e),u(e<0?0:0|d(e))}function h(e){const t=e.length<0?0:0|d(e.length),r=u(t);for(let n=0;n<t;n+=1)r[n]=255&e[n];return r}function p(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('"length" is outside of buffer bounds');let n;return n=void 0===t&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,t):new Uint8Array(e,t,r),Object.setPrototypeOf(n,s.prototype),n}function d(e){if(e>=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function m(e,t){if(s.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||J(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return V(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Y(e).length;default:if(i)return n?-1:V(e).length;t=(""+t).toLowerCase(),i=!0}}function y(e,t,r){let n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<Line truncated
-114
View File
@@ -1,114 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! https://mths.be/punycode v1.3.2 by @mathias */
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see UserAgent.js.LICENSE.txt */
(()=>{var e={79742:(e,t)=>{"use strict";t.byteLength=function(e){var t=s(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,o=s(e),a=o[0],u=o[1],c=new i(function(e,t,r){return 3*(t+r)/4-r}(0,a,u)),l=0,f=u>0?a-4:a;for(r=0;r<f;r+=4)t=n[e.charCodeAt(r)]<<18|n[e.charCodeAt(r+1)]<<12|n[e.charCodeAt(r+2)]<<6|n[e.charCodeAt(r+3)],c[l++]=t>>16&255,c[l++]=t>>8&255,c[l++]=255&t;return 2===u&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,c[l++]=255&t),1===u&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,c[l++]=t>>8&255,c[l++]=255&t),c},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,o=[],a=16383,u=0,s=n-i;u<s;u+=a)o.push(c(e,u,u+a>s?s:u+a));return 1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),o.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,u=o.length;a<u;++a)r[a]=o[a],n[o.charCodeAt(a)]=a;function s(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e,t,n){for(var i,o,a=[],u=t;u<n;u+=3)i=(e[u]<<16&16711680)+(e[u+1]<<8&65280)+(255&e[u+2]),a.push(r[(o=i)>>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return a.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},48764:(e,t,r)=>{"use strict";const n=r(79742),i=r(80645),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=s,t.INSPECT_MAX_BYTES=50;const a=2147483647;function u(e){if(e>a)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,s.prototype),t}function s(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return f(e)}return c(e,t,r)}function c(e,t,r){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!s.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const r=0|m(e,t);let n=u(r);const i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(J(e,Uint8Array)){const t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return p(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(J(e,ArrayBuffer)||e&&J(e.buffer,ArrayBuffer))return h(e,t,r);if("undefined"!=typeof SharedArrayBuffer&&(J(e,SharedArrayBuffer)||e&&J(e.buffer,SharedArrayBuffer)))return h(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return s.from(n,t,r);const i=function(e){if(s.isBuffer(e)){const t=0|d(e.length),r=u(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||Z(e.length)?u(0):p(e):"Buffer"===e.type&&Array.isArray(e.data)?p(e.data):void 0}(e);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return s.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function f(e){return l(e),u(e<0?0:0|d(e))}function p(e){const t=e.length<0?0:0|d(e.length),r=u(t);for(let n=0;n<t;n+=1)r[n]=255&e[n];return r}function h(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('"length" is outside of buffer bounds');let n;return n=void 0===t&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,t):new Uint8Array(e,t,r),Object.setPrototypeOf(n,s.prototype),n}function d(e){if(e>=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function m(e,t){if(s.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||J(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return H(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Y(e).length;default:if(i)return n?-1:H(e).length;t=(""+t).toLowerCase(),i=!0}}function g(e,t,r){let n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<Line truncated
-112
View File
@@ -1,112 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
-2
View File
@@ -1,2 +0,0 @@
/*! For license information please see Yara.js.LICENSE.txt */
(()=>{var A={79742:(A,Q)=>{"use strict";Q.byteLength=function(A){var Q=i(A),I=Q[0],g=Q[1];return 3*(I+g)/4-g},Q.toByteArray=function(A){var Q,I,C=i(A),E=C[0],D=C[1],o=new B(function(A,Q,I){return 3*(Q+I)/4-I}(0,E,D)),w=0,F=D>0?E-4:E;for(I=0;I<F;I+=4)Q=g[A.charCodeAt(I)]<<18|g[A.charCodeAt(I+1)]<<12|g[A.charCodeAt(I+2)]<<6|g[A.charCodeAt(I+3)],o[w++]=Q>>16&255,o[w++]=Q>>8&255,o[w++]=255&Q;return 2===D&&(Q=g[A.charCodeAt(I)]<<2|g[A.charCodeAt(I+1)]>>4,o[w++]=255&Q),1===D&&(Q=g[A.charCodeAt(I)]<<10|g[A.charCodeAt(I+1)]<<4|g[A.charCodeAt(I+2)]>>2,o[w++]=Q>>8&255,o[w++]=255&Q),o},Q.fromByteArray=function(A){for(var Q,g=A.length,B=g%3,C=[],E=16383,D=0,i=g-B;D<i;D+=E)C.push(o(A,D,D+E>i?i:D+E));return 1===B?(Q=A[g-1],C.push(I[Q>>2]+I[Q<<4&63]+"==")):2===B&&(Q=(A[g-2]<<8)+A[g-1],C.push(I[Q>>10]+I[Q>>4&63]+I[Q<<2&63]+"=")),C.join("")};for(var I=[],g=[],B="undefined"!=typeof Uint8Array?Uint8Array:Array,C="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",E=0,D=C.length;E<D;++E)I[E]=C[E],g[C.charCodeAt(E)]=E;function i(A){var Q=A.length;if(Q%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var I=A.indexOf("=");return-1===I&&(I=Q),[I,I===Q?0:4-I%4]}function o(A,Q,g){for(var B,C,E=[],D=Q;D<g;D+=3)B=(A[D]<<16&16711680)+(A[D+1]<<8&65280)+(255&A[D+2]),E.push(I[(C=B)>>18&63]+I[C>>12&63]+I[C>>6&63]+I[63&C]);return E.join("")}g["-".charCodeAt(0)]=62,g["_".charCodeAt(0)]=63},48764:(A,Q,I)=>{"use strict";const g=I(79742),B=I(80645),C="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;Q.Buffer=i,Q.INSPECT_MAX_BYTES=50;const E=2147483647;function D(A){if(A>E)throw new RangeError('The value "'+A+'" is invalid for option "size"');const Q=new Uint8Array(A);return Object.setPrototypeOf(Q,i.prototype),Q}function i(A,Q,I){if("number"==typeof A){if("string"==typeof Q)throw new TypeError('The "string" argument must be of type string. Received type number');return F(A)}return o(A,Q,I)}function o(A,Q,I){if("string"==typeof A)return function(A,Q){if("string"==typeof Q&&""!==Q||(Q="utf8"),!i.isEncoding(Q))throw new TypeError("Unknown encoding: "+Q);const I=0|a(A,Q);let g=D(I);const B=g.write(A,Q);return B!==I&&(g=g.slice(0,B)),g}(A,Q);if(ArrayBuffer.isView(A))return function(A){if(v(A,Uint8Array)){const Q=new Uint8Array(A);return G(Q.buffer,Q.byteOffset,Q.byteLength)}return y(A)}(A);if(null==A)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof A);if(v(A,ArrayBuffer)||A&&v(A.buffer,ArrayBuffer))return G(A,Q,I);if("undefined"!=typeof SharedArrayBuffer&&(v(A,SharedArrayBuffer)||A&&v(A.buffer,SharedArrayBuffer)))return G(A,Q,I);if("number"==typeof A)throw new TypeError('The "value" argument must not be of type number. Received type number');const g=A.valueOf&&A.valueOf();if(null!=g&&g!==A)return i.from(g,Q,I);const B=function(A){if(i.isBuffer(A)){const Q=0|c(A.length),I=D(Q);return 0===I.length||A.copy(I,0,0,Q),I}return void 0!==A.length?"number"!=typeof A.length||P(A.length)?D(0):y(A):"Buffer"===A.type&&Array.isArray(A.data)?y(A.data):void 0}(A);if(B)return B;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof A[Symbol.toPrimitive])return i.from(A[Symbol.toPrimitive]("string"),Q,I);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof A)}function w(A){if("number"!=typeof A)throw new TypeError('"size" argument must be of type number');if(A<0)throw new RangeError('The value "'+A+'" is invalid for option "size"')}function F(A){return w(A),D(A<0?0:0|c(A))}function y(A){const Q=A.length<0?0:0|c(A.length),I=D(Q);for(let g=0;g<Q;g+=1)I[g]=255&A[g];return I}function G(A,Q,I){if(Q<0||A.byteLength<Q)throw new RangeError('"offset" is outside of buffer bounds');if(A.byteLength<Q+(I||0))throw new RangeError('"length" is outside of buffer bounds');let g;return g=void 0===Q&&void 0===I?new Uint8Array(A):void 0===I?new Uint8Array(A,Q):new Uint8Array(A,Q,I),Object.setPrototypeOf(g,i.prototype),g}function c(A){if(A>=E)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+E.toString(16)+" bytes");return 0|A}function a(A,Q){if(i.isBuffer(A))return A.length;if(ArrayBuffer.isView(A)||v(A,ArrayBuffer))return A.byteLength;if("string"!=typeof A)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof A);const I=A.length,g=arguments.length>2&&!0===arguments[2];if(!g&&0===I)return 0;let B=!1;for(;;)switch(Q){case"ascii":case"latin1":case"binary":return I;case"utf8":case"utf-8":return X(A).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*I;case"hex":return I>>>1;case"base64":return O(A).length;default:if(B)return g?-1:X(A).length;Q=(""+Q).toLowerCase(),B=!0}}function N(A,Q,I){let g=!1;if((void 0===Q||Q<0)&&(Q=0),Q>this.length)return"";if((void 0===I||I>this.length)&&(I=this.length),I<Line truncated
-118
View File
@@ -1,118 +0,0 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2019
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @author Matt C [matt@artemisbot.uk]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Base64 functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*/
/**
* Custom error type for handling Dish type errors.
* i.e. where the Dish cannot be successfully translated between types
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* Custom error type for handling operation input errors.
* i.e. where the operation can handle the error and print a message to the screen.
*
* @author d98762625 [d98762625@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Decimal functions.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*/
/**
* File signatures and extractor functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* File type functions
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
/**
* Stream class for parsing binary protocols.
*
* @author n1474335 [n1474335@gmail.com]
* @author tlwr [toby@toby.codes]
* @copyright Crown Copyright 2018
* @license Apache-2.0
*
*/
+9110
View File
File diff suppressed because it is too large. Load diff
+107
View File
@@ -0,0 +1,107 @@
{
"name": "cyberchef",
"version": "6.2.0",
"description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.",
"author": "n1474335 <n1474335@gmail.com>",
"homepage": "https://gchq.github.io/CyberChef",
"copyright": "Crown copyright 2016",
"license": "Apache-2.0",
"keywords": [
"cipher",
"cypher",
"encode",
"decode",
"encrypt",
"decrypt",
"base64",
"xor",
"charset",
"hex",
"encoding",
"format",
"cybersecurity",
"data manipulation",
"data analysis"
],
"repository": {
"type": "git",
"url": "https://github.com/gchq/CyberChef/"
},
"main": "build/node/CyberChef.js",
"bugs": "https://github.com/gchq/CyberChef/issues",
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-preset-env": "^1.6.0",
"css-loader": "^0.28.7",
"exports-loader": "^0.6.4",
"extract-text-webpack-plugin": "^3.0.0",
"file-loader": "^0.11.2",
"grunt": ">=1.0.1",
"grunt-accessibility": "~5.0.0",
"grunt-chmod": "~1.1.1",
"grunt-concurrent": "^2.3.1",
"grunt-contrib-clean": "~1.1.0",
"grunt-contrib-copy": "~1.0.0",
"grunt-eslint": "^20.1.0",
"grunt-exec": "~3.0.0",
"grunt-execute": "^0.2.2",
"grunt-jsdoc": "^2.1.1",
"grunt-webpack": "^3.0.2",
"html-webpack-plugin": "^2.30.1",
"imports-loader": "^0.7.1",
"ink-docstrap": "^1.3.0",
"jsdoc-babel": "^0.3.0",
"less": "^2.7.2",
"less-loader": "^4.0.5",
"postcss-css-variables": "^0.8.0",
"postcss-import": "^10.0.0",
"postcss-loader": "^2.0.6",
"style-loader": "^0.18.2",
"url-loader": "^0.5.9",
"val-loader": "^1.0.2",
"web-resource-inliner": "^4.1.1",
"webpack": "^3.6.0",
"webpack-dev-server": "^2.8.2",
"webpack-node-externals": "^1.6.0",
"worker-loader": "^0.8.0"
},
"dependencies": {
"babel-polyfill": "^6.26.0",
"bootstrap": "^3.3.7",
"bootstrap-colorpicker": "^2.5.1",
"bootstrap-switch": "^3.3.4",
"crypto-api": "^0.7.5",
"crypto-js": "^3.1.9-1",
"diff": "^3.3.1",
"escodegen": "^1.9.0",
"esmangle": "^1.0.1",
"esprima": "^4.0.0",
"exif-parser": "^0.1.12",
"google-code-prettify": "^1.0.5",
"jquery": "^3.2.1",
"js-crc": "^0.2.0",
"js-sha3": "^0.6.1",
"jsbn": "^1.1.0",
"jsonpath": "^0.2.12",
"jsrsasign": "8.0.3",
"lodash": "^4.17.4",
"moment": "^2.18.1",
"moment-timezone": "^0.5.13",
"node-md6": "^0.1.0",
"otp": "^0.1.3",
"sladex-blowfish": "^0.8.1",
"sortablejs": "^1.6.1",
"split.js": "^1.3.5",
"vkbeautify": "^0.99.3",
"xmldom": "^0.1.27",
"xpath": "0.0.24",
"zlibjs": "^0.3.1"
},
"scripts": {
"start": "grunt dev",
"build": "grunt prod",
"test": "grunt test",
"docs": "grunt docs"
}
}
+15
View File
@@ -0,0 +1,15 @@
module.exports = {
plugins: [
require("postcss-import"),
require("autoprefixer")({
browsers: [
"Chrome >= 40",
"Firefox >= 35",
"Edge >= 14"
]
}),
require("postcss-css-variables")({
preserve: true
}),
]
};
-1
View File
@@ -1 +0,0 @@
fd356341f24c1adb452f04c5b60bf6efb1d9b0c60f29f9666149dfd2d2622569
-1
View File
@@ -1 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://gchq.github.io/</loc><changefreq>weekly</changefreq><priority>1.0</priority></url><url><loc>https://gchq.github.io/?op=A1Z26%20Cipher%20Decode</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=A1Z26%20Cipher%20Encode</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=ADD</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=AES%20Decrypt</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=AES%20Encrypt</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=AES%20Key%20Unwrap</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=AES%20Key%20Wrap</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=AMF%20Decode</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=AMF%20Encode</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=AND</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Add%20line%20numbers</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Add%20Text%20To%20Image</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Adler-32%20Checksum</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Affine%20Cipher%20Decode</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Affine%20Cipher%20Encode</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Analyse%20hash</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Argon2</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Argon2%20compare</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Atbash%20Cipher</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Avro%20to%20JSON</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=BLAKE2b</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=BLAKE2s</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=BSON%20deserialise</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=BSON%20serialise</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Bacon%20Cipher%20Decode</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Bacon%20Cipher%20Encode</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Bcrypt</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Bcrypt%20compare</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Bcrypt%20parse</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Bifid%20Cipher%20Decode</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Bifid%20Cipher%20Encode</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Bit%20shift%20left</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Bit%20shift%20right</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Blowfish%20Decrypt</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Blowfish%20Encrypt</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Blur%20Image</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Bombe</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Bzip2%20Compress</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Bzip2%20Decompress</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=CBOR%20Decode</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=CBOR%20Encode</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=CMAC</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=CRC-16%20Checksum</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=CRC-32%20Checksum</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=CRC-8%20Checksum</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=CSS%20Beautify</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=CSS%20Minify</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=CSS%20selector</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=CSV%20to%20JSON</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=CTPH</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Caesar%20Box%20Cipher</loc><priority>0.5</priority></url><url><loc>https://gchq.github.io/?op=Cartesian%20Product</loc><priority>0.5</pLine truncated
+153
View File
@@ -0,0 +1,153 @@
import Dish from "./Dish.js";
import Recipe from "./Recipe.js";
/**
* The main controller for CyberChef.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* @class
*/
const Chef = function() {
this.dish = new Dish();
};
/**
* Runs the recipe over the input.
*
* @param {string} inputText - The input data as a string
* @param {Object[]} recipeConfig - The recipe configuration object
* @param {Object} options - The options object storing various user choices
* @param {boolean} options.attempHighlight - Whether or not to attempt highlighting
* @param {number} progress - The position in the recipe to start from
* @param {number} [step] - Whether to only execute one operation in the recipe
*
* @returns {Object} response
* @returns {string} response.result - The output of the recipe
* @returns {string} response.type - The data type of the result
* @returns {number} response.progress - The position that we have got to in the recipe
* @returns {number} response.duration - The number of ms it took to execute the recipe
* @returns {number} response.error - The error object thrown by a failed operation (false if no error)
*/
Chef.prototype.bake = async function(inputText, recipeConfig, options, progress, step) {
let startTime = new Date().getTime(),
recipe = new Recipe(recipeConfig),
containsFc = recipe.containsFlowControl(),
error = false;
if (containsFc && ENVIRONMENT_IS_WORKER()) self.setOption("attemptHighlight", false);
// Clean up progress
if (progress >= recipeConfig.length) {
progress = 0;
}
if (step) {
// Unset breakpoint on this step
recipe.setBreakpoint(progress, false);
// Set breakpoint on next step
recipe.setBreakpoint(progress + 1, true);
}
// If stepping with flow control, we have to start from the beginning
// but still want to skip all previous breakpoints
if (progress > 0 && containsFc) {
recipe.removeBreaksUpTo(progress);
progress = 0;
}
// If starting from scratch, load data
if (progress === 0) {
this.dish.set(inputText, Dish.STRING);
}
try {
progress = await recipe.execute(this.dish, progress);
} catch (err) {
// Return the error in the result so that everything else gets correctly updated
// rather than throwing it here and losing state info.
error = err;
progress = err.progress;
}
return {
result: this.dish.type === Dish.HTML ?
this.dish.get(Dish.HTML) :
this.dish.get(Dish.STRING),
type: Dish.enumLookup(this.dish.type),
progress: progress,
duration: new Date().getTime() - startTime,
error: error
};
};
/**
* When a browser tab is unfocused and the browser has to run lots of dynamic content in other tabs,
* it swaps out the memory for that tab. If the CyberChef tab has been unfocused for more than a
* minute, we run a silent bake which will force the browser to load and cache all the relevant
* JavaScript code needed to do a real bake.
*
* This will stop baking taking a long time when the CyberChef browser tab has been unfocused for a
* long time and the browser has swapped out all its memory.
*
* The output will not be modified (hence "silent" bake).
*
* This will only actually execute the recipe if auto-bake is enabled, otherwise it will just load
* the recipe, ingredients and dish.
*
* @param {Object[]} recipeConfig - The recipe configuration object
* @returns {number} The time it took to run the silent bake in milliseconds.
*/
Chef.prototype.silentBake = function(recipeConfig) {
let startTime = new Date().getTime(),
recipe = new Recipe(recipeConfig),
dish = new Dish("", Dish.STRING);
try {
recipe.execute(dish);
} catch (err) {
// Suppress all errors
}
return new Date().getTime() - startTime;
};
/**
* Calculates highlight offsets if possible.
*
* @param {Object[]} recipeConfig
* @param {string} direction
* @param {Object} pos - The position object for the highlight.
* @param {number} pos.start - The start offset.
* @param {number} pos.end - The end offset.
* @returns {Object}
*/
Chef.prototype.calculateHighlights = function(recipeConfig, direction, pos) {
const recipe = new Recipe(recipeConfig);
const highlights = recipe.generateHighlightList();
if (!highlights) return false;
for (let i = 0; i < highlights.length; i++) {
// Remove multiple highlights before processing again
pos = [pos[0]];
const func = direction === "forward" ? highlights[i].f : highlights[i].b;
if (typeof func == "function") {
pos = func(pos, highlights[i].args);
}
}
return {
pos: pos,
direction: direction
};
};
export default Chef;
+178
View File
@@ -0,0 +1,178 @@
/**
* Web Worker to handle communications between the front-end and the core.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
import "babel-polyfill";
import Chef from "./Chef.js";
import OperationConfig from "./config/MetaConfig.js";
import OpModules from "./config/modules/Default.js";
// Set up Chef instance
self.chef = new Chef();
self.OpModules = OpModules;
self.OperationConfig = OperationConfig;
// Tell the app that the worker has loaded and is ready to operate
self.postMessage({
action: "workerLoaded",
data: {}
});
/**
* Respond to message from parent thread.
*
* Messages should have the following format:
* {
* action: "bake" | "silentBake",
* data: {
* input: {string},
* recipeConfig: {[Object]},
* options: {Object},
* progress: {number},
* step: {boolean}
* } | undefined
* }
*/
self.addEventListener("message", function(e) {
// Handle message
const r = e.data;
switch (r.action) {
case "bake":
bake(r.data);
break;
case "silentBake":
silentBake(r.data);
break;
case "docURL":
// Used to set the URL of the current document so that scripts can be
// imported into an inline worker.
self.docURL = r.data;
break;
case "highlight":
calculateHighlights(
r.data.recipeConfig,
r.data.direction,
r.data.pos
);
break;
default:
break;
}
});
/**
* Baking handler
*
* @param {Object} data
*/
async function bake(data) {
// Ensure the relevant modules are loaded
loadRequiredModules(data.recipeConfig);
try {
const response = await self.chef.bake(
data.input, // The user's input
data.recipeConfig, // The configuration of the recipe
data.options, // Options set by the user
data.progress, // The current position in the recipe
data.step // Whether or not to take one step or execute the whole recipe
);
self.postMessage({
action: "bakeSuccess",
data: response
});
} catch (err) {
self.postMessage({
action: "bakeError",
data: err.message
});
}
}
/**
* Silent baking handler
*/
function silentBake(data) {
const duration = self.chef.silentBake(data.recipeConfig);
self.postMessage({
action: "silentBakeComplete",
data: duration
});
}
/**
* Checks that all required modules are loaded and loads them if not.
*
* @param {Object} recipeConfig
*/
function loadRequiredModules(recipeConfig) {
recipeConfig.forEach(op => {
let module = self.OperationConfig[op.op].module;
if (!OpModules.hasOwnProperty(module)) {
console.log("Loading module " + module);
self.sendStatusMessage("Loading module " + module);
self.importScripts(self.docURL + "/" + module + ".js");
}
});
}
/**
* Calculates highlight offsets if possible.
*
* @param {Object[]} recipeConfig
* @param {string} direction
* @param {Object} pos - The position object for the highlight.
* @param {number} pos.start - The start offset.
* @param {number} pos.end - The end offset.
*/
function calculateHighlights(recipeConfig, direction, pos) {
pos = self.chef.calculateHighlights(recipeConfig, direction, pos);
self.postMessage({
action: "highlightsCalculated",
data: pos
});
}
/**
* Send status update to the app.
*
* @param {string} msg
*/
self.sendStatusMessage = function(msg) {
self.postMessage({
action: "statusMessage",
data: msg
});
};
/**
* Send an option value update to the app.
*
* @param {string} option
* @param {*} value
*/
self.setOption = function(option, value) {
self.postMessage({
action: "optionUpdate",
data: {
option: option,
value: value
}
});
};
+206
View File
@@ -0,0 +1,206 @@
import Utils from "./Utils.js";
/**
* The data being operated on by each operation.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* @class
* @param {byteArray|string|number} value - The value of the input data.
* @param {number} type - The data type of value, see Dish enums.
*/
const Dish = function(value, type) {
this.value = value || typeof value == "string" ? value : null;
this.type = type || Dish.BYTE_ARRAY;
};
/**
* Dish data type enum for byte arrays.
* @readonly
* @enum
*/
Dish.BYTE_ARRAY = 0;
/**
* Dish data type enum for strings.
* @readonly
* @enum
*/
Dish.STRING = 1;
/**
* Dish data type enum for numbers.
* @readonly
* @enum
*/
Dish.NUMBER = 2;
/**
* Dish data type enum for HTML.
* @readonly
* @enum
*/
Dish.HTML = 3;
/**
* Returns the data type enum for the given type string.
*
* @static
* @param {string} typeStr - The name of the data type.
* @returns {number} The data type enum value.
*/
Dish.typeEnum = function(typeStr) {
switch (typeStr) {
case "byteArray":
case "Byte array":
return Dish.BYTE_ARRAY;
case "string":
case "String":
return Dish.STRING;
case "number":
case "Number":
return Dish.NUMBER;
case "html":
case "HTML":
return Dish.HTML;
default:
throw "Invalid data type string. No matching enum.";
}
};
/**
* Returns the data type string for the given type enum.
*
* @static
* @param {string} typeEnum - The enum value of the data type.
* @returns {number} The data type as a string.
*/
Dish.enumLookup = function(typeEnum) {
switch (typeEnum) {
case Dish.BYTE_ARRAY:
return "byteArray";
case Dish.STRING:
return "string";
case Dish.NUMBER:
return "number";
case Dish.HTML:
return "html";
default:
throw "Invalid data type enum. No matching type.";
}
};
/**
* Sets the data value and type and then validates them.
*
* @param {byteArray|string|number} value - The value of the input data.
* @param {number} type - The data type of value, see Dish enums.
*/
Dish.prototype.set = function(value, type) {
this.value = value;
this.type = type;
if (!this.valid()) {
const sample = Utils.truncate(JSON.stringify(this.value), 13);
throw "Data is not a valid " + Dish.enumLookup(type) + ": " + sample;
}
};
/**
* Returns the value of the data in the type format specified.
*
* @param {number} type - The data type of value, see Dish enums.
* @returns {byteArray|string|number} The value of the output data.
*/
Dish.prototype.get = function(type) {
if (this.type !== type) {
this.translate(type);
}
return this.value;
};
/**
* Translates the data to the given type format.
*
* @param {number} toType - The data type of value, see Dish enums.
*/
Dish.prototype.translate = function(toType) {
// Convert data to intermediate byteArray type
switch (this.type) {
case Dish.STRING:
this.value = this.value ? Utils.strToByteArray(this.value) : [];
this.type = Dish.BYTE_ARRAY;
break;
case Dish.NUMBER:
this.value = typeof this.value == "number" ? Utils.strToByteArray(this.value.toString()) : [];
this.type = Dish.BYTE_ARRAY;
break;
case Dish.HTML:
this.value = this.value ? Utils.strToByteArray(Utils.unescapeHtml(Utils.stripHtmlTags(this.value, true))) : [];
this.type = Dish.BYTE_ARRAY;
break;
default:
break;
}
// Convert from byteArray to toType
switch (toType) {
case Dish.STRING:
case Dish.HTML:
this.value = this.value ? Utils.byteArrayToUtf8(this.value) : "";
this.type = Dish.STRING;
break;
case Dish.NUMBER:
this.value = this.value ? parseFloat(Utils.byteArrayToUtf8(this.value)) : 0;
this.type = Dish.NUMBER;
break;
default:
break;
}
};
/**
* Validates that the value is the type that has been specified.
* May have to disable parts of BYTE_ARRAY validation if it effects performance.
*
* @returns {boolean} Whether the data is valid or not.
*/
Dish.prototype.valid = function() {
switch (this.type) {
case Dish.BYTE_ARRAY:
if (!(this.value instanceof Array)) {
return false;
}
// Check that every value is a number between 0 - 255
for (let i = 0; i < this.value.length; i++) {
if (typeof this.value[i] != "number" ||
this.value[i] < 0 ||
this.value[i] > 255) {
return false;
}
}
return true;
case Dish.STRING:
case Dish.HTML:
if (typeof this.value == "string") {
return true;
}
return false;
case Dish.NUMBER:
if (typeof this.value == "number") {
return true;
}
return false;
default:
return false;
}
};
export default Dish;
+186
View File
@@ -0,0 +1,186 @@
import Recipe from "./Recipe.js";
import Dish from "./Dish.js";
/**
* Flow Control operations.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* @namespace
*/
const FlowControl = {
/**
* Fork operation.
*
* @param {Object} state - The current state of the recipe.
* @param {number} state.progress - The current position in the recipe.
* @param {Dish} state.dish - The Dish being operated on.
* @param {Operation[]} state.opList - The list of operations in the recipe.
* @returns {Object} The updated state of the recipe.
*/
runFork: async function(state) {
let opList = state.opList,
inputType = opList[state.progress].inputType,
outputType = opList[state.progress].outputType,
input = state.dish.get(inputType),
ings = opList[state.progress].getIngValues(),
splitDelim = ings[0],
mergeDelim = ings[1],
ignoreErrors = ings[2],
subOpList = [],
inputs = [],
i;
if (input)
inputs = input.split(splitDelim);
// Create subOpList for each tranche to operate on
// (all remaining operations unless we encounter a Merge)
for (i = state.progress + 1; i < opList.length; i++) {
if (opList[i].name === "Merge" && !opList[i].isDisabled()) {
break;
} else {
subOpList.push(opList[i]);
}
}
let recipe = new Recipe(),
output = "",
progress = 0;
recipe.addOperations(subOpList);
// Run recipe over each tranche
for (i = 0; i < inputs.length; i++) {
const dish = new Dish(inputs[i], inputType);
try {
progress = await recipe.execute(dish, 0);
} catch (err) {
if (!ignoreErrors) {
throw err;
}
progress = err.progress + 1;
}
output += dish.get(outputType) + mergeDelim;
}
state.dish.set(output, outputType);
state.progress += progress;
return state;
},
/**
* Merge operation.
*
* @param {Object} state - The current state of the recipe.
* @param {number} state.progress - The current position in the recipe.
* @param {Dish} state.dish - The Dish being operated on.
* @param {Operation[]} state.opList - The list of operations in the recipe.
* @returns {Object} The updated state of the recipe.
*/
runMerge: function(state) {
// No need to actually do anything here. The fork operation will
// merge when it sees this operation.
return state;
},
/**
* Jump operation.
*
* @param {Object} state - The current state of the recipe.
* @param {number} state.progress - The current position in the recipe.
* @param {Dish} state.dish - The Dish being operated on.
* @param {Operation[]} state.opList - The list of operations in the recipe.
* @param {number} state.numJumps - The number of jumps taken so far.
* @returns {Object} The updated state of the recipe.
*/
runJump: function(state) {
let ings = state.opList[state.progress].getIngValues(),
jumpNum = ings[0],
maxJumps = ings[1];
if (jumpNum < 0) {
jumpNum--;
}
if (state.numJumps >= maxJumps) {
return state;
}
state.progress += jumpNum;
state.numJumps++;
return state;
},
/**
* Conditional Jump operation.
*
* @param {Object} state - The current state of the recipe.
* @param {number} state.progress - The current position in the recipe.
* @param {Dish} state.dish - The Dish being operated on.
* @param {Operation[]} state.opList - The list of operations in the recipe.
* @param {number} state.numJumps - The number of jumps taken so far.
* @returns {Object} The updated state of the recipe.
*/
runCondJump: function(state) {
let ings = state.opList[state.progress].getIngValues(),
dish = state.dish,
regexStr = ings[0],
jumpNum = ings[1],
maxJumps = ings[2];
if (jumpNum < 0) {
jumpNum--;
}
if (state.numJumps >= maxJumps) {
return state;
}
if (regexStr !== "" && dish.get(Dish.STRING).search(regexStr) > -1) {
state.progress += jumpNum;
state.numJumps++;
}
return state;
},
/**
* Return operation.
*
* @param {Object} state - The current state of the recipe.
* @param {number} state.progress - The current position in the recipe.
* @param {Dish} state.dish - The Dish being operated on.
* @param {Operation[]} state.opList - The list of operations in the recipe.
* @returns {Object} The updated state of the recipe.
*/
runReturn: function(state) {
state.progress = state.opList.length;
return state;
},
/**
* Comment operation.
*
* @param {Object} state - The current state of the recipe.
* @param {number} state.progress - The current position in the recipe.
* @param {Dish} state.dish - The Dish being operated on.
* @param {Operation[]} state.opList - The list of operations in the recipe.
* @returns {Object} The updated state of the recipe.
*/
runComment: function(state) {
return state;
},
};
export default FlowControl;
+92
View File
@@ -0,0 +1,92 @@
import Utils from "./Utils.js";
/**
* The arguments to operations.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* @class
* @param {Object} ingredientConfig
*/
const Ingredient = function(ingredientConfig) {
this.name = "";
this.type = "";
this.value = null;
if (ingredientConfig) {
this._parseConfig(ingredientConfig);
}
};
/**
* Reads and parses the given config.
*
* @private
* @param {Object} ingredientConfig
*/
Ingredient.prototype._parseConfig = function(ingredientConfig) {
this.name = ingredientConfig.name;
this.type = ingredientConfig.type;
};
/**
* Returns the value of the Ingredient as it should be displayed in a recipe config.
*
* @returns {*}
*/
Ingredient.prototype.getConfig = function() {
return this.value;
};
/**
* Sets the value of the Ingredient.
*
* @param {*} value
*/
Ingredient.prototype.setValue = function(value) {
this.value = Ingredient.prepare(value, this.type);
};
/**
* Most values will be strings when they are entered. This function converts them to the correct
* type.
*
* @static
* @param {*} data
* @param {string} type - The name of the data type.
*/
Ingredient.prepare = function(data, type) {
let number;
switch (type) {
case "binaryString":
case "binaryShortString":
case "editableOption":
return Utils.parseEscapedChars(data);
case "byteArray":
if (typeof data == "string") {
data = data.replace(/\s+/g, "");
return Utils.fromHex(data);
} else {
return data;
}
case "number":
number = parseFloat(data);
if (isNaN(number)) {
const sample = Utils.truncate(data.toString(), 10);
throw "Invalid ingredient value. Not a number: " + sample;
}
return number;
default:
return data;
}
};
export default Ingredient;
+174
View File
@@ -0,0 +1,174 @@
import Dish from "./Dish.js";
import Ingredient from "./Ingredient.js";
import OperationConfig from "./config/MetaConfig.js";
import OpModules from "./config/modules/OpModules.js";
/**
* The Operation specified by the user to be run.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* @class
* @param {string} operationName
*/
const Operation = function(operationName) {
this.name = operationName;
this.module = "";
this.description = "";
this.inputType = -1;
this.outputType = -1;
this.run = null;
this.highlight = null;
this.highlightReverse = null;
this.breakpoint = false;
this.disabled = false;
this.ingList = [];
if (OperationConfig.hasOwnProperty(this.name)) {
this._parseConfig(OperationConfig[this.name]);
}
};
/**
* Reads and parses the given config.
*
* @private
* @param {Object} operationConfig
*/
Operation.prototype._parseConfig = function(operationConfig) {
this.module = operationConfig.module;
this.description = operationConfig.description;
this.inputType = Dish.typeEnum(operationConfig.inputType);
this.outputType = Dish.typeEnum(operationConfig.outputType);
this.highlight = operationConfig.highlight;
this.highlightReverse = operationConfig.highlightReverse;
this.flowControl = operationConfig.flowControl;
this.run = OpModules[this.module][this.name];
for (let a = 0; a < operationConfig.args.length; a++) {
const ingredientConfig = operationConfig.args[a];
const ingredient = new Ingredient(ingredientConfig);
this.addIngredient(ingredient);
}
if (this.highlight === "func") {
this.highlight = OpModules[this.module][`${this.name}-highlight`];
}
if (this.highlightReverse === "func") {
this.highlightReverse = OpModules[this.module][`${this.name}-highlightReverse`];
}
};
/**
* Returns the value of the Operation as it should be displayed in a recipe config.
*
* @returns {Object}
*/
Operation.prototype.getConfig = function() {
const ingredientConfig = [];
for (let o = 0; o < this.ingList.length; o++) {
ingredientConfig.push(this.ingList[o].getConfig());
}
const operationConfig = {
"op": this.name,
"args": ingredientConfig
};
return operationConfig;
};
/**
* Adds a new Ingredient to this Operation.
*
* @param {Ingredient} ingredient
*/
Operation.prototype.addIngredient = function(ingredient) {
this.ingList.push(ingredient);
};
/**
* Set the Ingredient values for this Operation.
*
* @param {Object[]} ingValues
*/
Operation.prototype.setIngValues = function(ingValues) {
for (let i = 0; i < ingValues.length; i++) {
this.ingList[i].setValue(ingValues[i]);
}
};
/**
* Get the Ingredient values for this Operation.
*
* @returns {Object[]}
*/
Operation.prototype.getIngValues = function() {
const ingValues = [];
for (let i = 0; i < this.ingList.length; i++) {
ingValues.push(this.ingList[i].value);
}
return ingValues;
};
/**
* Set whether this Operation has a breakpoint.
*
* @param {boolean} value
*/
Operation.prototype.setBreakpoint = function(value) {
this.breakpoint = !!value;
};
/**
* Returns true if this Operation has a breakpoint set.
*
* @returns {boolean}
*/
Operation.prototype.isBreakpoint = function() {
return this.breakpoint;
};
/**
* Set whether this Operation is disabled.
*
* @param {boolean} value
*/
Operation.prototype.setDisabled = function(value) {
this.disabled = !!value;
};
/**
* Returns true if this Operation is disabled.
*
* @returns {boolean}
*/
Operation.prototype.isDisabled = function() {
return this.disabled;
};
/**
* Returns true if this Operation is a flow control.
*
* @returns {boolean}
*/
Operation.prototype.isFlowControl = function() {
return this.flowControl;
};
export default Operation;
+251
View File
@@ -0,0 +1,251 @@
import Operation from "./Operation.js";
/**
* The Recipe controls a list of Operations and the Dish they operate on.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* @class
* @param {Object} recipeConfig
*/
const Recipe = function(recipeConfig) {
this.opList = [];
if (recipeConfig) {
this._parseConfig(recipeConfig);
}
};
/**
* Reads and parses the given config.
*
* @private
* @param {Object} recipeConfig
*/
Recipe.prototype._parseConfig = function(recipeConfig) {
for (let c = 0; c < recipeConfig.length; c++) {
const operationName = recipeConfig[c].op;
const operation = new Operation(operationName);
operation.setIngValues(recipeConfig[c].args);
operation.setBreakpoint(recipeConfig[c].breakpoint);
operation.setDisabled(recipeConfig[c].disabled);
this.addOperation(operation);
}
};
/**
* Returns the value of the Recipe as it should be displayed in a recipe config.
*
* @returns {*}
*/
Recipe.prototype.getConfig = function() {
const recipeConfig = [];
for (let o = 0; o < this.opList.length; o++) {
recipeConfig.push(this.opList[o].getConfig());
}
return recipeConfig;
};
/**
* Adds a new Operation to this Recipe.
*
* @param {Operation} operation
*/
Recipe.prototype.addOperation = function(operation) {
this.opList.push(operation);
};
/**
* Adds a list of Operations to this Recipe.
*
* @param {Operation[]} operations
*/
Recipe.prototype.addOperations = function(operations) {
this.opList = this.opList.concat(operations);
};
/**
* Set a breakpoint on a specified Operation.
*
* @param {number} position - The index of the Operation
* @param {boolean} value
*/
Recipe.prototype.setBreakpoint = function(position, value) {
try {
this.opList[position].setBreakpoint(value);
} catch (err) {
// Ignore index error
}
};
/**
* Remove breakpoints on all Operations in the Recipe up to the specified position. Used by Flow
* Control Fork operation.
*
* @param {number} pos
*/
Recipe.prototype.removeBreaksUpTo = function(pos) {
for (let i = 0; i < pos; i++) {
this.opList[i].setBreakpoint(false);
}
};
/**
* Returns true if there is an Flow Control Operation in this Recipe.
*
* @returns {boolean}
*/
Recipe.prototype.containsFlowControl = function() {
for (let i = 0; i < this.opList.length; i++) {
if (this.opList[i].isFlowControl()) return true;
}
return false;
};
/**
* Returns the index of the last Operation index that will be executed, taking into account disabled
* Operations and breakpoints.
*
* @param {number} [startIndex=0] - The index to start searching from
* @returns (number}
*/
Recipe.prototype.lastOpIndex = function(startIndex) {
let i = startIndex + 1 || 0,
op;
for (; i < this.opList.length; i++) {
op = this.opList[i];
if (op.isDisabled()) return i-1;
if (op.isBreakpoint()) return i-1;
}
return i-1;
};
/**
* Executes each operation in the recipe over the given Dish.
*
* @param {Dish} dish
* @param {number} [startFrom=0] - The index of the Operation to start executing from
* @returns {number} - The final progress through the recipe
*/
Recipe.prototype.execute = async function(dish, startFrom) {
startFrom = startFrom || 0;
let op, input, output, numJumps = 0;
for (let i = startFrom; i < this.opList.length; i++) {
op = this.opList[i];
if (op.isDisabled()) {
continue;
}
if (op.isBreakpoint()) {
return i;
}
try {
input = dish.get(op.inputType);
if (op.isFlowControl()) {
// Package up the current state
let state = {
"progress": i,
"dish": dish,
"opList": this.opList,
"numJumps": numJumps
};
state = await op.run(state);
i = state.progress;
numJumps = state.numJumps;
} else {
output = await op.run(input, op.getIngValues());
dish.set(output, op.outputType);
}
} catch (err) {
const e = typeof err == "string" ? { message: err } : err;
e.progress = i;
if (e.fileName) {
e.displayStr = op.name + " - " + e.name + " in " +
e.fileName + " on line " + e.lineNumber +
".<br><br>Message: " + (e.displayStr || e.message);
} else {
e.displayStr = op.name + " - " + (e.displayStr || e.message);
}
throw e;
}
}
return this.opList.length;
};
/**
* Returns the recipe configuration in string format.
*
* @returns {string}
*/
Recipe.prototype.toString = function() {
return JSON.stringify(this.getConfig());
};
/**
* Creates a Recipe from a given configuration string.
*
* @param {string} recipeStr
*/
Recipe.prototype.fromString = function(recipeStr) {
const recipeConfig = JSON.parse(recipeStr);
this._parseConfig(recipeConfig);
};
/**
* Generates a list of all the highlight functions assigned to operations in the recipe, if the
* entire recipe supports highlighting.
*
* @returns {Object[]} highlights
* @returns {function} highlights[].f
* @returns {function} highlights[].b
* @returns {Object[]} highlights[].args
*/
Recipe.prototype.generateHighlightList = function() {
const highlights = [];
for (let i = 0; i < this.opList.length; i++) {
let op = this.opList[i];
if (op.isDisabled()) continue;
// If any breakpoints are set, do not attempt to highlight
if (op.isBreakpoint()) return false;
// If any of the operations do not support highlighting, fail immediately.
if (op.highlight === false || op.highlight === undefined) return false;
highlights.push({
f: op.highlight,
b: op.highlightReverse,
args: op.getIngValues()
});
}
return highlights;
};
export default Recipe;
+1404
View File
File diff suppressed because it is too large. Load diff
+328
View File
@@ -0,0 +1,328 @@
/**
* Type definition for a CatConf.
*
* @typedef {Object} CatConf
* @property {string} name - The display name for the category
* @property {string[]} ops - A list of the operations to be included in this category
*/
/**
* Categories of operations.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* @constant
* @type {CatConf[]}
*/
const Categories = [
{
name: "Favourites",
ops: []
},
{
name: "Data format",
ops: [
"To Hexdump",
"From Hexdump",
"To Hex",
"From Hex",
"To Charcode",
"From Charcode",
"To Decimal",
"From Decimal",
"To Binary",
"From Binary",
"To Octal",
"From Octal",
"To Base64",
"From Base64",
"Show Base64 offsets",
"To Base32",
"From Base32",
"To Base58",
"From Base58",
"To Base",
"From Base",
"To BCD",
"From BCD",
"To HTML Entity",
"From HTML Entity",
"URL Encode",
"URL Decode",
"Unescape Unicode Characters",
"To Quoted Printable",
"From Quoted Printable",
"To Punycode",
"From Punycode",
"To Hex Content",
"From Hex Content",
"PEM to Hex",
"Hex to PEM",
"Parse ASN.1 hex string",
"Change IP format",
"Encode text",
"Decode text",
"Swap endianness",
]
},
{
name: "Encryption / Encoding",
ops: [
"AES Encrypt",
"AES Decrypt",
"Blowfish Encrypt",
"Blowfish Decrypt",
"DES Encrypt",
"DES Decrypt",
"Triple DES Encrypt",
"Triple DES Decrypt",
"Rabbit Encrypt",
"Rabbit Decrypt",
"RC4",
"RC4 Drop",
"ROT13",
"ROT47",
"XOR",
"XOR Brute Force",
"Vigenère Encode",
"Vigenère Decode",
"To Morse Code",
"From Morse Code",
"Bifid Cipher Encode",
"Bifid Cipher Decode",
"Affine Cipher Encode",
"Affine Cipher Decode",
"Atbash Cipher",
"Substitute",
"Derive PBKDF2 key",
"Derive EVP key",
]
},
{
name: "Public Key",
ops: [
"Parse X.509 certificate",
"Parse ASN.1 hex string",
"PEM to Hex",
"Hex to PEM",
"Hex to Object Identifier",
"Object Identifier to Hex",
]
},
{
name: "Logical operations",
ops: [
"XOR",
"XOR Brute Force",
"OR",
"NOT",
"AND",
"ADD",
"SUB",
"Bit shift left",
"Bit shift right",
"Rotate left",
"Rotate right",
"ROT13",
]
},
{
name: "Networking",
ops: [
"HTTP request",
"Strip HTTP headers",
"Parse User Agent",
"Parse IP range",
"Parse IPv6 address",
"Parse IPv4 header",
"Parse URI",
"URL Encode",
"URL Decode",
"Format MAC addresses",
"Change IP format",
"Group IP addresses",
"Encode NetBIOS Name",
"Decode NetBIOS Name",
]
},
{
name: "Language",
ops: [
"Encode text",
"Decode text",
"Unescape Unicode Characters",
]
},
{
name: "Utils",
ops: [
"Diff",
"Remove whitespace",
"Remove null bytes",
"To Upper case",
"To Lower case",
"Add line numbers",
"Remove line numbers",
"Reverse",
"Sort",
"Unique",
"Split",
"Filter",
"Head",
"Tail",
"Count occurrences",
"Expand alphabet range",
"Drop bytes",
"Take bytes",
"Pad lines",
"Find / Replace",
"Regular expression",
"Offset checker",
"Convert distance",
"Convert area",
"Convert mass",
"Convert speed",
"Convert data units",
"Parse UNIX file permissions",
"Swap endianness",
"Parse colour code",
"Escape string",
"Unescape string",
]
},
{
name: "Date / Time",
ops: [
"Parse DateTime",
"Translate DateTime Format",
"From UNIX Timestamp",
"To UNIX Timestamp",
"Windows Filetime to UNIX Timestamp",
"UNIX Timestamp to Windows Filetime",
"Extract dates",
]
},
{
name: "Extractors",
ops: [
"Strings",
"Extract IP addresses",
"Extract email addresses",
"Extract MAC addresses",
"Extract URLs",
"Extract domains",
"Extract file paths",
"Extract dates",
"Regular expression",
"XPath expression",
"JPath expression",
"CSS selector",
"Extract EXIF",
]
},
{
name: "Compression",
ops: [
"Raw Deflate",
"Raw Inflate",
"Zlib Deflate",
"Zlib Inflate",
"Gzip",
"Gunzip",
"Zip",
"Unzip",
"Bzip2 Decompress",
"Tar",
"Untar",
]
},
{
name: "Hashing",
ops: [
"Analyse hash",
"Generate all hashes",
"MD2",
"MD4",
"MD5",
"MD6",
"SHA0",
"SHA1",
"SHA2",
"SHA3",
"Keccak",
"Shake",
"RIPEMD",
"HAS-160",
"Whirlpool",
"Snefru",
"HMAC",
"Fletcher-8 Checksum",
"Fletcher-16 Checksum",
"Fletcher-32 Checksum",
"Fletcher-64 Checksum",
"Adler-32 Checksum",
"CRC-16 Checksum",
"CRC-32 Checksum",
"TCP/IP Checksum",
]
},
{
name: "Code tidy",
ops: [
"Syntax highlighter",
"Generic Code Beautify",
"JavaScript Parser",
"JavaScript Beautify",
"JavaScript Minify",
"JSON Beautify",
"JSON Minify",
"XML Beautify",
"XML Minify",
"SQL Beautify",
"SQL Minify",
"CSS Beautify",
"CSS Minify",
"XPath expression",
"JPath expression",
"CSS selector",
"Microsoft Script Decoder",
"Strip HTML tags",
"Diff",
"To Snake case",
"To Camel case",
"To Kebab case",
]
},
{
name: "Other",
ops: [
"Entropy",
"Frequency distribution",
"Detect File Type",
"Scan for Embedded Files",
"Generate UUID",
"Generate TOTP",
"Generate HOTP",
"Render Image",
"Remove EXIF",
"Extract EXIF",
"Numberwang",
]
},
{
name: "Flow control",
ops: [
"Fork",
"Merge",
"Jump",
"Conditional Jump",
"Return",
"Comment"
]
},
];
export default Categories;
+3809
View File
File diff suppressed because it is too large. Load diff
+22
View File
@@ -0,0 +1,22 @@
import CharEnc from "../../operations/CharEnc.js";
/**
* CharEnc module.
*
* Libraries:
* - cptable
* - CryptoJS
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
let OpModules = typeof self === "undefined" ? {} : self.OpModules || {};
OpModules.CharEnc = {
"Encode text": CharEnc.runEncode,
"Decode text": CharEnc.runDecode,
};
export default OpModules;
+42
View File
@@ -0,0 +1,42 @@
import Cipher from "../../operations/Cipher.js";
/**
* Ciphers module.
*
* Libraries:
* - CryptoJS
* - Blowfish
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
let OpModules = typeof self === "undefined" ? {} : self.OpModules || {};
OpModules.Ciphers = {
"AES Encrypt": Cipher.runAesEnc,
"AES Decrypt": Cipher.runAesDec,
"Blowfish Encrypt": Cipher.runBlowfishEnc,
"Blowfish Decrypt": Cipher.runBlowfishDec,
"DES Encrypt": Cipher.runDesEnc,
"DES Decrypt": Cipher.runDesDec,
"Triple DES Encrypt": Cipher.runTripleDesEnc,
"Triple DES Decrypt": Cipher.runTripleDesDec,
"Rabbit Encrypt": Cipher.runRabbitEnc,
"Rabbit Decrypt": Cipher.runRabbitDec,
"Derive PBKDF2 key": Cipher.runPbkdf2,
"Derive EVP key": Cipher.runEvpkdf,
"RC4": Cipher.runRc4,
"RC4 Drop": Cipher.runRc4drop,
"Vigenère Encode": Cipher.runVigenereEnc,
"Vigenère Decode": Cipher.runVigenereDec,
"Bifid Cipher Encode": Cipher.runBifidEnc,
"Bifid Cipher Decode": Cipher.runBifidDec,
"Affine Cipher Encode": Cipher.runAffineEnc,
"Affine Cipher Decode": Cipher.runAffineDec,
"Atbash Cipher": Cipher.runAtbash,
"Substitute": Cipher.runSubstitute,
};
export default OpModules;
+44
View File
@@ -0,0 +1,44 @@
import JS from "../../operations/JS.js";
import Code from "../../operations/Code.js";
/**
* Code module.
*
* Libraries:
* - lodash
* - vkbeautify
* - xmldom
* - xpath
* - jpath
* - googlecodeprettify
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
let OpModules = typeof self === "undefined" ? {} : self.OpModules || {};
OpModules.Code = {
"JavaScript Parser": JS.runParse,
"JavaScript Beautify": JS.runBeautify,
"JavaScript Minify": JS.runMinify,
"Syntax highlighter": Code.runSyntaxHighlight,
"Generic Code Beautify": Code.runGenericBeautify,
"JSON Beautify": Code.runJsonBeautify,
"JSON Minify": Code.runJsonMinify,
"XML Beautify": Code.runXmlBeautify,
"XML Minify": Code.runXmlMinify,
"SQL Beautify": Code.runSqlBeautify,
"SQL Minify": Code.runSqlMinify,
"CSS Beautify": Code.runCssBeautify,
"CSS Minify": Code.runCssMinify,
"XPath expression": Code.runXpath,
"CSS selector": Code.runCSSQuery,
"To Snake case": Code.runToSnakeCase,
"To Camel case": Code.runToCamelCase,
"To Kebab case": Code.runToKebabCase,
"JPath expression": Code.runJpath,
};
export default OpModules;
+32
View File
@@ -0,0 +1,32 @@
import Compress from "../../operations/Compress.js";
/**
* Compression module.
*
* Libraries:
* - zlib.js
* - bzip2.js
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
let OpModules = typeof self === "undefined" ? {} : self.OpModules || {};
OpModules.Compression = {
"Raw Deflate": Compress.runRawDeflate,
"Raw Inflate": Compress.runRawInflate,
"Zlib Deflate": Compress.runZlibDeflate,
"Zlib Inflate": Compress.runZlibInflate,
"Gzip": Compress.runGzip,
"Gunzip": Compress.runGunzip,
"Zip": Compress.runPkzip,
"Unzip": Compress.runPkunzip,
"Bzip2 Decompress": Compress.runBzip2Decompress,
"Tar": Compress.runTar,
"Untar": Compress.runUntar,
};
export default OpModules;
+191
View File
@@ -0,0 +1,191 @@
import FlowControl from "../../FlowControl.js";
import Base from "../../operations/Base.js";
import Base58 from "../../operations/Base58.js";
import Base64 from "../../operations/Base64.js";
import BCD from "../../operations/BCD.js";
import BitwiseOp from "../../operations/BitwiseOp.js";
import ByteRepr from "../../operations/ByteRepr.js";
import Convert from "../../operations/Convert.js";
import DateTime from "../../operations/DateTime.js";
import Endian from "../../operations/Endian.js";
import Entropy from "../../operations/Entropy.js";
import Extract from "../../operations/Extract.js";
import FileType from "../../operations/FileType.js";
import Hexdump from "../../operations/Hexdump.js";
import HTML from "../../operations/HTML.js";
import MAC from "../../operations/MAC.js";
import MorseCode from "../../operations/MorseCode.js";
import MS from "../../operations/MS.js";
import NetBIOS from "../../operations/NetBIOS.js";
import Numberwang from "../../operations/Numberwang.js";
import OS from "../../operations/OS.js";
import OTP from "../../operations/OTP.js";
import QuotedPrintable from "../../operations/QuotedPrintable.js";
import Rotate from "../../operations/Rotate.js";
import SeqUtils from "../../operations/SeqUtils.js";
import StrUtils from "../../operations/StrUtils.js";
import Tidy from "../../operations/Tidy.js";
import Unicode from "../../operations/Unicode.js";
import URL_ from "../../operations/URL.js";
import UUID from "../../operations/UUID.js";
/**
* Default module.
*
* The Default module is for operations that are expected to be very commonly used or
* do not require any libraries. This module is loaded into the app at compile time.
*
* Libraries:
* - Utils.js
* - CryptoJS
* - otp
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
let OpModules = typeof self === "undefined" ? {} : self.OpModules || {};
OpModules.Default = {
"To Hexdump": Hexdump.runTo,
"From Hexdump": Hexdump.runFrom,
"To Hex": ByteRepr.runToHex,
"From Hex": ByteRepr.runFromHex,
"To Octal": ByteRepr.runToOct,
"From Octal": ByteRepr.runFromOct,
"To Charcode": ByteRepr.runToCharcode,
"From Charcode": ByteRepr.runFromCharcode,
"To Decimal": ByteRepr.runToDecimal,
"From Decimal": ByteRepr.runFromDecimal,
"To Binary": ByteRepr.runToBinary,
"From Binary": ByteRepr.runFromBinary,
"To Hex Content": ByteRepr.runToHexContent,
"From Hex Content": ByteRepr.runFromHexContent,
"To Base64": Base64.runTo,
"From Base64": Base64.runFrom,
"Show Base64 offsets": Base64.runOffsets,
"To Base32": Base64.runTo32,
"From Base32": Base64.runFrom32,
"To Base58": Base58.runTo,
"From Base58": Base58.runFrom,
"To Base": Base.runTo,
"From Base": Base.runFrom,
"To BCD": BCD.runToBCD,
"From BCD": BCD.runFromBCD,
"To HTML Entity": HTML.runToEntity,
"From HTML Entity": HTML.runFromEntity,
"Strip HTML tags": HTML.runStripTags,
"Parse colour code": HTML.runParseColourCode,
"URL Encode": URL_.runTo,
"URL Decode": URL_.runFrom,
"Parse URI": URL_.runParse,
"Unescape Unicode Characters": Unicode.runUnescape,
"To Quoted Printable": QuotedPrintable.runTo,
"From Quoted Printable": QuotedPrintable.runFrom,
"Swap endianness": Endian.runSwapEndianness,
"ROT13": Rotate.runRot13,
"ROT47": Rotate.runRot47,
"Rotate left": Rotate.runRotl,
"Rotate right": Rotate.runRotr,
"Bit shift left": BitwiseOp.runBitShiftLeft,
"Bit shift right": BitwiseOp.runBitShiftRight,
"XOR": BitwiseOp.runXor,
"XOR Brute Force": BitwiseOp.runXorBrute,
"OR": BitwiseOp.runXor,
"NOT": BitwiseOp.runNot,
"AND": BitwiseOp.runAnd,
"ADD": BitwiseOp.runAdd,
"SUB": BitwiseOp.runSub,
"To Morse Code": MorseCode.runTo,
"From Morse Code": MorseCode.runFrom,
"Format MAC addresses": MAC.runFormat,
"Encode NetBIOS Name": NetBIOS.runEncodeName,
"Decode NetBIOS Name": NetBIOS.runDecodeName,
"Regular expression": StrUtils.runRegex,
"Offset checker": StrUtils.runOffsetChecker,
"To Upper case": StrUtils.runUpper,
"To Lower case": StrUtils.runLower,
"Find / Replace": StrUtils.runFindReplace,
"Split": StrUtils.runSplit,
"Filter": StrUtils.runFilter,
"Escape string": StrUtils.runEscape,
"Unescape string": StrUtils.runUnescape,
"Head": StrUtils.runHead,
"Tail": StrUtils.runTail,
"Remove whitespace": Tidy.runRemoveWhitespace,
"Remove null bytes": Tidy.runRemoveNulls,
"Drop bytes": Tidy.runDropBytes,
"Take bytes": Tidy.runTakeBytes,
"Pad lines": Tidy.runPad,
"Reverse": SeqUtils.runReverse,
"Sort": SeqUtils.runSort,
"Unique": SeqUtils.runUnique,
"Count occurrences": SeqUtils.runCount,
"Add line numbers": SeqUtils.runAddLineNumbers,
"Remove line numbers": SeqUtils.runRemoveLineNumbers,
"Expand alphabet range": SeqUtils.runExpandAlphRange,
"Convert distance": Convert.runDistance,
"Convert area": Convert.runArea,
"Convert mass": Convert.runMass,
"Convert speed": Convert.runSpeed,
"Convert data units": Convert.runDataSize,
"Parse UNIX file permissions": OS.runParseUnixPerms,
"Parse DateTime": DateTime.runParse,
"Translate DateTime Format": DateTime.runTranslateFormat,
"From UNIX Timestamp": DateTime.runFromUnixTimestamp,
"To UNIX Timestamp": DateTime.runToUnixTimestamp,
"Strings": Extract.runStrings,
"Extract IP addresses": Extract.runIp,
"Extract email addresses": Extract.runEmail,
"Extract MAC addresses": Extract.runMac,
"Extract URLs": Extract.runUrls,
"Extract domains": Extract.runDomains,
"Extract file paths": Extract.runFilePaths,
"Extract dates": Extract.runDates,
"Microsoft Script Decoder": MS.runDecodeScript,
"Entropy": Entropy.runEntropy,
"Frequency distribution": Entropy.runFreqDistrib,
"Detect File Type": FileType.runDetect,
"Scan for Embedded Files": FileType.runScanForEmbeddedFiles,
"Generate UUID": UUID.runGenerateV4,
"Numberwang": Numberwang.run,
"Generate TOTP": OTP.runTOTP,
"Generate HOTP": OTP.runHOTP,
"Fork": FlowControl.runFork,
"Merge": FlowControl.runMerge,
"Jump": FlowControl.runJump,
"Conditional Jump": FlowControl.runCondJump,
"Return": FlowControl.runReturn,
"Comment": FlowControl.runComment,
/*
Highlighting functions.
This is a temporary solution as highlighting should be entirely
overhauled at some point.
*/
"From Base64-highlight": Base64.highlightFrom,
"From Base64-highlightReverse": Base64.highlightTo,
"To Base64-highlight": Base64.highlightTo,
"To Base64-highlightReverse": Base64.highlightFrom,
"From Hex-highlight": ByteRepr.highlightFrom,
"From Hex-highlightReverse": ByteRepr.highlightTo,
"To Hex-highlight": ByteRepr.highlightTo,
"To Hex-highlightReverse": ByteRepr.highlightFrom,
"From Charcode-highlight": ByteRepr.highlightFrom,
"From Charcode-highlightReverse": ByteRepr.highlightTo,
"To Charcode-highlight": ByteRepr.highlightTo,
"To Charcode-highlightReverse": ByteRepr.highlightFrom,
"From Binary-highlight": ByteRepr.highlightFromBinary,
"From Binary-highlightReverse": ByteRepr.highlightToBinary,
"To Binary-highlight": ByteRepr.highlightToBinary,
"To Binary-highlightReverse": ByteRepr.highlightFromBinary,
"From Hexdump-highlight": Hexdump.highlightFrom,
"From Hexdump-highlightReverse": Hexdump.highlightTo,
"To Hexdump-highlight": Hexdump.highlightTo,
"To Hexdump-highlightReverse": Hexdump.highlightFrom,
};
export default OpModules;
Loaded 100 of 259 files, more files were not shown because too many files have changed in this diff. Show more