/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

namespace js {
namespace moduleloader {
    static const unsigned char data[] = { 120, 156, 117, 147, 193, 78, 195, 48, 12, 134, 239, 123, 138, 104, 167, 84, 170, 250, 2, 213, 144, 118, 65, 32, 109, 8, 237, 138, 56, 132, 214, 93, 3, 89, 82, 18, 103, 8, 161, 189, 59, 110, 147, 110, 201, 6, 57, 84, 109, 242, 217, 254, 253, 59, 221, 65, 167, 160, 193, 106, 99, 68, 11, 150, 173, 152, 134, 47, 214, 40, 225, 28, 251, 89, 48, 90, 141, 209, 14, 173, 111, 208, 88, 94, 196, 189, 113, 97, 47, 93, 101, 97, 47, 233, 244, 59, 198, 109, 197, 192, 139, 58, 71, 20, 37, 126, 22, 216, 19, 178, 7, 220, 154, 214, 43, 216, 196, 189, 25, 62, 77, 79, 11, 206, 168, 35, 112, 45, 14, 144, 86, 146, 29, 227, 198, 85, 3, 5, 84, 210, 173, 223, 136, 242, 24, 177, 226, 76, 133, 12, 232, 173, 102, 227, 201, 69, 69, 220, 156, 51, 188, 27, 169, 121, 166, 172, 156, 2, 50, 41, 29, 96, 211, 243, 145, 79, 133, 92, 50, 117, 82, 1, 53, 47, 218, 123, 122, 9, 92, 26, 62, 102, 94, 107, 74, 110, 221, 109, 59, 10, 144, 13, 193, 144, 232, 97, 210, 118, 157, 117, 157, 121, 92, 245, 194, 133, 82, 127, 54, 157, 179, 100, 117, 42, 107, 174, 235, 140, 183, 13, 204, 149, 147, 46, 115, 236, 48, 77, 137, 176, 97, 236, 32, 204, 140, 135, 216, 146, 93, 241, 121, 93, 23, 235, 150, 49, 71, 113, 51, 135, 176, 159, 186, 245, 178, 148, 135, 193, 88, 92, 190, 78, 30, 148, 68, 118, 96, 45, 216, 107, 215, 206, 178, 206, 227, 203, 77, 190, 212, 10, 100, 213, 2, 221, 100, 43, 80, 26, 253, 72, 183, 88, 104, 148, 211, 7, 255, 79, 86, 5, 71, 161, 124, 198, 156, 22, 167, 122, 225, 230, 155, 187, 11, 195, 122, 48, 230, 131, 243, 16, 51, 234, 253, 244, 224, 240, 105, 26, 244, 234, 142, 237, 178, 127, 42, 23, 154, 178, 69, 253, 11, 115, 204, 18, 157 };

    static const unsigned char * const compressedSources = reinterpret_cast<const unsigned char *>(data);

    uint32_t GetCompressedSize() {
        return 355;
    }

    uint32_t GetRawScriptsSize() {
        return 894;
    }
} // selfhosted
} // js
