@parcel/utils 2.0.0-nightly.1161 → 2.0.0-nightly.1165

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -81,7 +81,13 @@ parcelRequire.register("iGlOy", function(module, exports) {
81
81
  });
82
82
 
83
83
  parcelRequire.register("ai0Z9", function(module, exports) {
84
-
84
+ /**
85
+ * Node.js module for Forge message digests.
86
+ *
87
+ * @author Dave Longley
88
+ *
89
+ * Copyright 2011-2017 Digital Bazaar, Inc.
90
+ */
85
91
  var $iGlOy = parcelRequire("iGlOy");
86
92
  module.exports = $iGlOy.md = $iGlOy.md || {};
87
93
  $iGlOy.md.algorithms = $iGlOy.md.algorithms || {};
@@ -3406,6 +3412,7 @@ $parcel$export(module.exports, "countLines", () => $fddc9169ba2fd655$export$2e2b
3406
3412
  $parcel$export(module.exports, "generateBuildMetrics", () => $15d4bc8b6fca8c7e$export$2e2bcd8739ae039);
3407
3413
  $parcel$export(module.exports, "generateCertificate", () => $c6cbdbdbaf0fafc1$export$2e2bcd8739ae039);
3408
3414
  $parcel$export(module.exports, "getCertificate", () => $186980c178984fd2$export$2e2bcd8739ae039);
3415
+ $parcel$export(module.exports, "getModuleParts", () => $313980afb666b13e$export$2e2bcd8739ae039);
3409
3416
  $parcel$export(module.exports, "getRootDir", () => $275c1a71c92a4142$export$2e2bcd8739ae039);
3410
3417
  $parcel$export(module.exports, "isDirectoryInside", () => $ea105385370dfccd$export$2e2bcd8739ae039);
3411
3418
  $parcel$export(module.exports, "isURL", () => $f7d48e99e9c9e3b2$export$2e2bcd8739ae039);
@@ -3578,22 +3585,50 @@ async function $15d4bc8b6fca8c7e$export$2e2bcd8739ae039(bundles, fs, projectRoot
3578
3585
 
3579
3586
 
3580
3587
  var $99e85628b30fe009$exports = {};
3581
-
3582
3588
  /**
3583
3589
  * Node.js module for Forge.
3584
3590
  *
3585
3591
  * @author Dave Longley
3586
3592
  *
3587
3593
  * Copyright 2011-2016 Digital Bazaar, Inc.
3588
- */ $99e85628b30fe009$exports = (parcelRequire("iGlOy"));
3594
+ */
3595
+ $99e85628b30fe009$exports = (parcelRequire("iGlOy"));
3589
3596
  var $ca9d5cba0afae339$exports = {};
3590
-
3597
+ /**
3598
+ * Advanced Encryption Standard (AES) implementation.
3599
+ *
3600
+ * This implementation is based on the public domain library 'jscrypto' which
3601
+ * was written by:
3602
+ *
3603
+ * Emily Stark (estark@stanford.edu)
3604
+ * Mike Hamburg (mhamburg@stanford.edu)
3605
+ * Dan Boneh (dabo@cs.stanford.edu)
3606
+ *
3607
+ * Parts of this code are based on the OpenSSL implementation of AES:
3608
+ * http://www.openssl.org
3609
+ *
3610
+ * @author Dave Longley
3611
+ *
3612
+ * Copyright (c) 2010-2014 Digital Bazaar, Inc.
3613
+ */
3591
3614
  var $iGlOy = parcelRequire("iGlOy");
3592
3615
  var $871289bd32ea5f15$exports = {};
3593
-
3616
+ /**
3617
+ * Cipher base API.
3618
+ *
3619
+ * @author Dave Longley
3620
+ *
3621
+ * Copyright (c) 2010-2014 Digital Bazaar, Inc.
3622
+ */
3594
3623
  var $iGlOy = parcelRequire("iGlOy");
3595
3624
  var $4143f576ffbec226$exports = {};
3596
-
3625
+ /**
3626
+ * Utility functions for web applications.
3627
+ *
3628
+ * @author Dave Longley
3629
+ *
3630
+ * Copyright (c) 2010-2018 Digital Bazaar, Inc.
3631
+ */
3597
3632
  var $iGlOy = parcelRequire("iGlOy");
3598
3633
  var $53abc20733f4b0dc$exports = {};
3599
3634
  /**
@@ -5624,7 +5659,7 @@ $4143f576ffbec226$var$util.text = {
5624
5659
  case "s":
5625
5660
  case "o":
5626
5661
  // check if enough arguments were given
5627
- if (argi < arguments.length) parts.push(arguments[(argi++) + 1]);
5662
+ if (argi < arguments.length) parts.push(arguments[argi++ + 1]);
5628
5663
  else parts.push("<?>");
5629
5664
  break;
5630
5665
  // FIXME: do proper formating for numbers, etc
@@ -6073,7 +6108,13 @@ var $871289bd32ea5f15$var$BlockCipher = $iGlOy.cipher.BlockCipher = function(opt
6073
6108
 
6074
6109
 
6075
6110
  var $8e7d87db09a5396f$exports = {};
6076
-
6111
+ /**
6112
+ * Supported cipher modes.
6113
+ *
6114
+ * @author Dave Longley
6115
+ *
6116
+ * Copyright (c) 2010-2014 Digital Bazaar, Inc.
6117
+ */
6077
6118
  var $iGlOy = parcelRequire("iGlOy");
6078
6119
 
6079
6120
  $iGlOy.cipher = $iGlOy.cipher || {};
@@ -7757,18 +7798,396 @@ var $ca9d5cba0afae339$var$imix; // inverse mix-columns table
7757
7798
 
7758
7799
 
7759
7800
  var $48103dfbc323e2e4$exports = {};
7760
-
7801
+ /**
7802
+ * A Javascript implementation of AES Cipher Suites for TLS.
7803
+ *
7804
+ * @author Dave Longley
7805
+ *
7806
+ * Copyright (c) 2009-2015 Digital Bazaar, Inc.
7807
+ *
7808
+ */
7761
7809
  var $iGlOy = parcelRequire("iGlOy");
7762
7810
 
7763
7811
  var $e55982d45da68b81$exports = {};
7764
-
7812
+ /**
7813
+ * A Javascript implementation of Transport Layer Security (TLS).
7814
+ *
7815
+ * @author Dave Longley
7816
+ *
7817
+ * Copyright (c) 2009-2014 Digital Bazaar, Inc.
7818
+ *
7819
+ * The TLS Handshake Protocol involves the following steps:
7820
+ *
7821
+ * - Exchange hello messages to agree on algorithms, exchange random values,
7822
+ * and check for session resumption.
7823
+ *
7824
+ * - Exchange the necessary cryptographic parameters to allow the client and
7825
+ * server to agree on a premaster secret.
7826
+ *
7827
+ * - Exchange certificates and cryptographic information to allow the client
7828
+ * and server to authenticate themselves.
7829
+ *
7830
+ * - Generate a master secret from the premaster secret and exchanged random
7831
+ * values.
7832
+ *
7833
+ * - Provide security parameters to the record layer.
7834
+ *
7835
+ * - Allow the client and server to verify that their peer has calculated the
7836
+ * same security parameters and that the handshake occurred without tampering
7837
+ * by an attacker.
7838
+ *
7839
+ * Up to 4 different messages may be sent during a key exchange. The server
7840
+ * certificate, the server key exchange, the client certificate, and the
7841
+ * client key exchange.
7842
+ *
7843
+ * A typical handshake (from the client's perspective).
7844
+ *
7845
+ * 1. Client sends ClientHello.
7846
+ * 2. Client receives ServerHello.
7847
+ * 3. Client receives optional Certificate.
7848
+ * 4. Client receives optional ServerKeyExchange.
7849
+ * 5. Client receives ServerHelloDone.
7850
+ * 6. Client sends optional Certificate.
7851
+ * 7. Client sends ClientKeyExchange.
7852
+ * 8. Client sends optional CertificateVerify.
7853
+ * 9. Client sends ChangeCipherSpec.
7854
+ * 10. Client sends Finished.
7855
+ * 11. Client receives ChangeCipherSpec.
7856
+ * 12. Client receives Finished.
7857
+ * 13. Client sends/receives application data.
7858
+ *
7859
+ * To reuse an existing session:
7860
+ *
7861
+ * 1. Client sends ClientHello with session ID for reuse.
7862
+ * 2. Client receives ServerHello with same session ID if reusing.
7863
+ * 3. Client receives ChangeCipherSpec message if reusing.
7864
+ * 4. Client receives Finished.
7865
+ * 5. Client sends ChangeCipherSpec.
7866
+ * 6. Client sends Finished.
7867
+ *
7868
+ * Note: Client ignores HelloRequest if in the middle of a handshake.
7869
+ *
7870
+ * Record Layer:
7871
+ *
7872
+ * The record layer fragments information blocks into TLSPlaintext records
7873
+ * carrying data in chunks of 2^14 bytes or less. Client message boundaries are
7874
+ * not preserved in the record layer (i.e., multiple client messages of the
7875
+ * same ContentType MAY be coalesced into a single TLSPlaintext record, or a
7876
+ * single message MAY be fragmented across several records).
7877
+ *
7878
+ * struct {
7879
+ * uint8 major;
7880
+ * uint8 minor;
7881
+ * } ProtocolVersion;
7882
+ *
7883
+ * struct {
7884
+ * ContentType type;
7885
+ * ProtocolVersion version;
7886
+ * uint16 length;
7887
+ * opaque fragment[TLSPlaintext.length];
7888
+ * } TLSPlaintext;
7889
+ *
7890
+ * type:
7891
+ * The higher-level protocol used to process the enclosed fragment.
7892
+ *
7893
+ * version:
7894
+ * The version of the protocol being employed. TLS Version 1.2 uses version
7895
+ * {3, 3}. TLS Version 1.0 uses version {3, 1}. Note that a client that
7896
+ * supports multiple versions of TLS may not know what version will be
7897
+ * employed before it receives the ServerHello.
7898
+ *
7899
+ * length:
7900
+ * The length (in bytes) of the following TLSPlaintext.fragment. The length
7901
+ * MUST NOT exceed 2^14 = 16384 bytes.
7902
+ *
7903
+ * fragment:
7904
+ * The application data. This data is transparent and treated as an
7905
+ * independent block to be dealt with by the higher-level protocol specified
7906
+ * by the type field.
7907
+ *
7908
+ * Implementations MUST NOT send zero-length fragments of Handshake, Alert, or
7909
+ * ChangeCipherSpec content types. Zero-length fragments of Application data
7910
+ * MAY be sent as they are potentially useful as a traffic analysis
7911
+ * countermeasure.
7912
+ *
7913
+ * Note: Data of different TLS record layer content types MAY be interleaved.
7914
+ * Application data is generally of lower precedence for transmission than
7915
+ * other content types. However, records MUST be delivered to the network in
7916
+ * the same order as they are protected by the record layer. Recipients MUST
7917
+ * receive and process interleaved application layer traffic during handshakes
7918
+ * subsequent to the first one on a connection.
7919
+ *
7920
+ * struct {
7921
+ * ContentType type; // same as TLSPlaintext.type
7922
+ * ProtocolVersion version;// same as TLSPlaintext.version
7923
+ * uint16 length;
7924
+ * opaque fragment[TLSCompressed.length];
7925
+ * } TLSCompressed;
7926
+ *
7927
+ * length:
7928
+ * The length (in bytes) of the following TLSCompressed.fragment.
7929
+ * The length MUST NOT exceed 2^14 + 1024.
7930
+ *
7931
+ * fragment:
7932
+ * The compressed form of TLSPlaintext.fragment.
7933
+ *
7934
+ * Note: A CompressionMethod.null operation is an identity operation; no fields
7935
+ * are altered. In this implementation, since no compression is supported,
7936
+ * uncompressed records are always the same as compressed records.
7937
+ *
7938
+ * Encryption Information:
7939
+ *
7940
+ * The encryption and MAC functions translate a TLSCompressed structure into a
7941
+ * TLSCiphertext. The decryption functions reverse the process. The MAC of the
7942
+ * record also includes a sequence number so that missing, extra, or repeated
7943
+ * messages are detectable.
7944
+ *
7945
+ * struct {
7946
+ * ContentType type;
7947
+ * ProtocolVersion version;
7948
+ * uint16 length;
7949
+ * select (SecurityParameters.cipher_type) {
7950
+ * case stream: GenericStreamCipher;
7951
+ * case block: GenericBlockCipher;
7952
+ * case aead: GenericAEADCipher;
7953
+ * } fragment;
7954
+ * } TLSCiphertext;
7955
+ *
7956
+ * type:
7957
+ * The type field is identical to TLSCompressed.type.
7958
+ *
7959
+ * version:
7960
+ * The version field is identical to TLSCompressed.version.
7961
+ *
7962
+ * length:
7963
+ * The length (in bytes) of the following TLSCiphertext.fragment.
7964
+ * The length MUST NOT exceed 2^14 + 2048.
7965
+ *
7966
+ * fragment:
7967
+ * The encrypted form of TLSCompressed.fragment, with the MAC.
7968
+ *
7969
+ * Note: Only CBC Block Ciphers are supported by this implementation.
7970
+ *
7971
+ * The TLSCompressed.fragment structures are converted to/from block
7972
+ * TLSCiphertext.fragment structures.
7973
+ *
7974
+ * struct {
7975
+ * opaque IV[SecurityParameters.record_iv_length];
7976
+ * block-ciphered struct {
7977
+ * opaque content[TLSCompressed.length];
7978
+ * opaque MAC[SecurityParameters.mac_length];
7979
+ * uint8 padding[GenericBlockCipher.padding_length];
7980
+ * uint8 padding_length;
7981
+ * };
7982
+ * } GenericBlockCipher;
7983
+ *
7984
+ * The MAC is generated as described in Section 6.2.3.1.
7985
+ *
7986
+ * IV:
7987
+ * The Initialization Vector (IV) SHOULD be chosen at random, and MUST be
7988
+ * unpredictable. Note that in versions of TLS prior to 1.1, there was no
7989
+ * IV field, and the last ciphertext block of the previous record (the "CBC
7990
+ * residue") was used as the IV. This was changed to prevent the attacks
7991
+ * described in [CBCATT]. For block ciphers, the IV length is of length
7992
+ * SecurityParameters.record_iv_length, which is equal to the
7993
+ * SecurityParameters.block_size.
7994
+ *
7995
+ * padding:
7996
+ * Padding that is added to force the length of the plaintext to be an
7997
+ * integral multiple of the block cipher's block length. The padding MAY be
7998
+ * any length up to 255 bytes, as long as it results in the
7999
+ * TLSCiphertext.length being an integral multiple of the block length.
8000
+ * Lengths longer than necessary might be desirable to frustrate attacks on
8001
+ * a protocol that are based on analysis of the lengths of exchanged
8002
+ * messages. Each uint8 in the padding data vector MUST be filled with the
8003
+ * padding length value. The receiver MUST check this padding and MUST use
8004
+ * the bad_record_mac alert to indicate padding errors.
8005
+ *
8006
+ * padding_length:
8007
+ * The padding length MUST be such that the total size of the
8008
+ * GenericBlockCipher structure is a multiple of the cipher's block length.
8009
+ * Legal values range from zero to 255, inclusive. This length specifies the
8010
+ * length of the padding field exclusive of the padding_length field itself.
8011
+ *
8012
+ * The encrypted data length (TLSCiphertext.length) is one more than the sum of
8013
+ * SecurityParameters.block_length, TLSCompressed.length,
8014
+ * SecurityParameters.mac_length, and padding_length.
8015
+ *
8016
+ * Example: If the block length is 8 bytes, the content length
8017
+ * (TLSCompressed.length) is 61 bytes, and the MAC length is 20 bytes, then the
8018
+ * length before padding is 82 bytes (this does not include the IV. Thus, the
8019
+ * padding length modulo 8 must be equal to 6 in order to make the total length
8020
+ * an even multiple of 8 bytes (the block length). The padding length can be
8021
+ * 6, 14, 22, and so on, through 254. If the padding length were the minimum
8022
+ * necessary, 6, the padding would be 6 bytes, each containing the value 6.
8023
+ * Thus, the last 8 octets of the GenericBlockCipher before block encryption
8024
+ * would be xx 06 06 06 06 06 06 06, where xx is the last octet of the MAC.
8025
+ *
8026
+ * Note: With block ciphers in CBC mode (Cipher Block Chaining), it is critical
8027
+ * that the entire plaintext of the record be known before any ciphertext is
8028
+ * transmitted. Otherwise, it is possible for the attacker to mount the attack
8029
+ * described in [CBCATT].
8030
+ *
8031
+ * Implementation note: Canvel et al. [CBCTIME] have demonstrated a timing
8032
+ * attack on CBC padding based on the time required to compute the MAC. In
8033
+ * order to defend against this attack, implementations MUST ensure that
8034
+ * record processing time is essentially the same whether or not the padding
8035
+ * is correct. In general, the best way to do this is to compute the MAC even
8036
+ * if the padding is incorrect, and only then reject the packet. For instance,
8037
+ * if the pad appears to be incorrect, the implementation might assume a
8038
+ * zero-length pad and then compute the MAC. This leaves a small timing
8039
+ * channel, since MAC performance depends, to some extent, on the size of the
8040
+ * data fragment, but it is not believed to be large enough to be exploitable,
8041
+ * due to the large block size of existing MACs and the small size of the
8042
+ * timing signal.
8043
+ */
7765
8044
  var $iGlOy = parcelRequire("iGlOy");
7766
8045
  var $579f29a8775d6845$exports = {};
7767
-
8046
+ /**
8047
+ * Javascript implementation of Abstract Syntax Notation Number One.
8048
+ *
8049
+ * @author Dave Longley
8050
+ *
8051
+ * Copyright (c) 2010-2015 Digital Bazaar, Inc.
8052
+ *
8053
+ * An API for storing data using the Abstract Syntax Notation Number One
8054
+ * format using DER (Distinguished Encoding Rules) encoding. This encoding is
8055
+ * commonly used to store data for PKI, i.e. X.509 Certificates, and this
8056
+ * implementation exists for that purpose.
8057
+ *
8058
+ * Abstract Syntax Notation Number One (ASN.1) is used to define the abstract
8059
+ * syntax of information without restricting the way the information is encoded
8060
+ * for transmission. It provides a standard that allows for open systems
8061
+ * communication. ASN.1 defines the syntax of information data and a number of
8062
+ * simple data types as well as a notation for describing them and specifying
8063
+ * values for them.
8064
+ *
8065
+ * The RSA algorithm creates public and private keys that are often stored in
8066
+ * X.509 or PKCS#X formats -- which use ASN.1 (encoded in DER format). This
8067
+ * class provides the most basic functionality required to store and load DSA
8068
+ * keys that are encoded according to ASN.1.
8069
+ *
8070
+ * The most common binary encodings for ASN.1 are BER (Basic Encoding Rules)
8071
+ * and DER (Distinguished Encoding Rules). DER is just a subset of BER that
8072
+ * has stricter requirements for how data must be encoded.
8073
+ *
8074
+ * Each ASN.1 structure has a tag (a byte identifying the ASN.1 structure type)
8075
+ * and a byte array for the value of this ASN1 structure which may be data or a
8076
+ * list of ASN.1 structures.
8077
+ *
8078
+ * Each ASN.1 structure using BER is (Tag-Length-Value):
8079
+ *
8080
+ * | byte 0 | bytes X | bytes Y |
8081
+ * |--------|---------|----------
8082
+ * | tag | length | value |
8083
+ *
8084
+ * ASN.1 allows for tags to be of "High-tag-number form" which allows a tag to
8085
+ * be two or more octets, but that is not supported by this class. A tag is
8086
+ * only 1 byte. Bits 1-5 give the tag number (ie the data type within a
8087
+ * particular 'class'), 6 indicates whether or not the ASN.1 value is
8088
+ * constructed from other ASN.1 values, and bits 7 and 8 give the 'class'. If
8089
+ * bits 7 and 8 are both zero, the class is UNIVERSAL. If only bit 7 is set,
8090
+ * then the class is APPLICATION. If only bit 8 is set, then the class is
8091
+ * CONTEXT_SPECIFIC. If both bits 7 and 8 are set, then the class is PRIVATE.
8092
+ * The tag numbers for the data types for the class UNIVERSAL are listed below:
8093
+ *
8094
+ * UNIVERSAL 0 Reserved for use by the encoding rules
8095
+ * UNIVERSAL 1 Boolean type
8096
+ * UNIVERSAL 2 Integer type
8097
+ * UNIVERSAL 3 Bitstring type
8098
+ * UNIVERSAL 4 Octetstring type
8099
+ * UNIVERSAL 5 Null type
8100
+ * UNIVERSAL 6 Object identifier type
8101
+ * UNIVERSAL 7 Object descriptor type
8102
+ * UNIVERSAL 8 External type and Instance-of type
8103
+ * UNIVERSAL 9 Real type
8104
+ * UNIVERSAL 10 Enumerated type
8105
+ * UNIVERSAL 11 Embedded-pdv type
8106
+ * UNIVERSAL 12 UTF8String type
8107
+ * UNIVERSAL 13 Relative object identifier type
8108
+ * UNIVERSAL 14-15 Reserved for future editions
8109
+ * UNIVERSAL 16 Sequence and Sequence-of types
8110
+ * UNIVERSAL 17 Set and Set-of types
8111
+ * UNIVERSAL 18-22, 25-30 Character string types
8112
+ * UNIVERSAL 23-24 Time types
8113
+ *
8114
+ * The length of an ASN.1 structure is specified after the tag identifier.
8115
+ * There is a definite form and an indefinite form. The indefinite form may
8116
+ * be used if the encoding is constructed and not all immediately available.
8117
+ * The indefinite form is encoded using a length byte with only the 8th bit
8118
+ * set. The end of the constructed object is marked using end-of-contents
8119
+ * octets (two zero bytes).
8120
+ *
8121
+ * The definite form looks like this:
8122
+ *
8123
+ * The length may take up 1 or more bytes, it depends on the length of the
8124
+ * value of the ASN.1 structure. DER encoding requires that if the ASN.1
8125
+ * structure has a value that has a length greater than 127, more than 1 byte
8126
+ * will be used to store its length, otherwise just one byte will be used.
8127
+ * This is strict.
8128
+ *
8129
+ * In the case that the length of the ASN.1 value is less than 127, 1 octet
8130
+ * (byte) is used to store the "short form" length. The 8th bit has a value of
8131
+ * 0 indicating the length is "short form" and not "long form" and bits 7-1
8132
+ * give the length of the data. (The 8th bit is the left-most, most significant
8133
+ * bit: also known as big endian or network format).
8134
+ *
8135
+ * In the case that the length of the ASN.1 value is greater than 127, 2 to
8136
+ * 127 octets (bytes) are used to store the "long form" length. The first
8137
+ * byte's 8th bit is set to 1 to indicate the length is "long form." Bits 7-1
8138
+ * give the number of additional octets. All following octets are in base 256
8139
+ * with the most significant digit first (typical big-endian binary unsigned
8140
+ * integer storage). So, for instance, if the length of a value was 257, the
8141
+ * first byte would be set to:
8142
+ *
8143
+ * 10000010 = 130 = 0x82.
8144
+ *
8145
+ * This indicates there are 2 octets (base 256) for the length. The second and
8146
+ * third bytes (the octets just mentioned) would store the length in base 256:
8147
+ *
8148
+ * octet 2: 00000001 = 1 * 256^1 = 256
8149
+ * octet 3: 00000001 = 1 * 256^0 = 1
8150
+ * total = 257
8151
+ *
8152
+ * The algorithm for converting a js integer value of 257 to base-256 is:
8153
+ *
8154
+ * var value = 257;
8155
+ * var bytes = [];
8156
+ * bytes[0] = (value >>> 8) & 0xFF; // most significant byte first
8157
+ * bytes[1] = value & 0xFF; // least significant byte last
8158
+ *
8159
+ * On the ASN.1 UNIVERSAL Object Identifier (OID) type:
8160
+ *
8161
+ * An OID can be written like: "value1.value2.value3...valueN"
8162
+ *
8163
+ * The DER encoding rules:
8164
+ *
8165
+ * The first byte has the value 40 * value1 + value2.
8166
+ * The following bytes, if any, encode the remaining values. Each value is
8167
+ * encoded in base 128, most significant digit first (big endian), with as
8168
+ * few digits as possible, and the most significant bit of each byte set
8169
+ * to 1 except the last in each value's encoding. For example: Given the
8170
+ * OID "1.2.840.113549", its DER encoding is (remember each byte except the
8171
+ * last one in each encoding is OR'd with 0x80):
8172
+ *
8173
+ * byte 1: 40 * 1 + 2 = 42 = 0x2A.
8174
+ * bytes 2-3: 128 * 6 + 72 = 840 = 6 72 = 6 72 = 0x0648 = 0x8648
8175
+ * bytes 4-6: 16384 * 6 + 128 * 119 + 13 = 6 119 13 = 0x06770D = 0x86F70D
8176
+ *
8177
+ * The final value is: 0x2A864886F70D.
8178
+ * The full OID (including ASN.1 tag and length of 6 bytes) is:
8179
+ * 0x06062A864886F70D
8180
+ */
7768
8181
  var $iGlOy = parcelRequire("iGlOy");
7769
8182
 
7770
8183
  var $10862ec0f65326f9$exports = {};
7771
-
8184
+ /**
8185
+ * Object IDs for ASN.1.
8186
+ *
8187
+ * @author Dave Longley
8188
+ *
8189
+ * Copyright (c) 2010-2013 Digital Bazaar, Inc.
8190
+ */
7772
8191
  var $iGlOy = parcelRequire("iGlOy");
7773
8192
  $iGlOy.pki = $iGlOy.pki || {};
7774
8193
  var $10862ec0f65326f9$var$oids = $10862ec0f65326f9$exports = $iGlOy.pki.oids = $iGlOy.oids = $iGlOy.oids || {};
@@ -8892,7 +9311,15 @@ var $579f29a8775d6845$var$_nonLatinRegex = /[^\\u0000-\\u00ff]/;
8892
9311
 
8893
9312
 
8894
9313
  var $84d5ddf5dc7c5415$exports = {};
8895
-
9314
+ /**
9315
+ * Hash-based Message Authentication Code implementation. Requires a message
9316
+ * digest object that can be obtained, for example, from forge.md.sha1 or
9317
+ * forge.md.md5.
9318
+ *
9319
+ * @author Dave Longley
9320
+ *
9321
+ * Copyright (c) 2010-2012 Digital Bazaar, Inc. All rights reserved.
9322
+ */
8896
9323
  var $iGlOy = parcelRequire("iGlOy");
8897
9324
  parcelRequire("ai0Z9");
8898
9325
 
@@ -9003,7 +9430,13 @@ parcelRequire("ai0Z9");
9003
9430
 
9004
9431
 
9005
9432
  var $a933e3938fe5f3ff$exports = {};
9006
-
9433
+ /**
9434
+ * Message Digest Algorithm 5 with 128-bit digest (MD5) implementation.
9435
+ *
9436
+ * @author Dave Longley
9437
+ *
9438
+ * Copyright (c) 2010-2014 Digital Bazaar, Inc.
9439
+ */
9007
9440
  var $iGlOy = parcelRequire("iGlOy");
9008
9441
  parcelRequire("ai0Z9");
9009
9442
 
@@ -9362,7 +9795,34 @@ var $a933e3938fe5f3ff$var$_initialized = false;
9362
9795
 
9363
9796
 
9364
9797
  var $6c81a009b991fd79$exports = {};
9365
-
9798
+ /**
9799
+ * Javascript implementation of basic PEM (Privacy Enhanced Mail) algorithms.
9800
+ *
9801
+ * See: RFC 1421.
9802
+ *
9803
+ * @author Dave Longley
9804
+ *
9805
+ * Copyright (c) 2013-2014 Digital Bazaar, Inc.
9806
+ *
9807
+ * A Forge PEM object has the following fields:
9808
+ *
9809
+ * type: identifies the type of message (eg: "RSA PRIVATE KEY").
9810
+ *
9811
+ * procType: identifies the type of processing performed on the message,
9812
+ * it has two subfields: version and type, eg: 4,ENCRYPTED.
9813
+ *
9814
+ * contentDomain: identifies the type of content in the message, typically
9815
+ * only uses the value: "RFC822".
9816
+ *
9817
+ * dekInfo: identifies the message encryption algorithm and mode and includes
9818
+ * any parameters for the algorithm, it has two subfields: algorithm and
9819
+ * parameters, eg: DES-CBC,F8143EDE5960C597.
9820
+ *
9821
+ * headers: contains all other PEM encapsulated headers -- where order is
9822
+ * significant (for pairing data like recipient ID + key info).
9823
+ *
9824
+ * body: the binary-encoded body.
9825
+ */
9366
9826
  var $iGlOy = parcelRequire("iGlOy");
9367
9827
 
9368
9828
  // shortcut for pem API
@@ -9529,17 +9989,72 @@ function $6c81a009b991fd79$var$ltrim(str) {
9529
9989
 
9530
9990
 
9531
9991
  var $71c5302ef2ea3950$exports = {};
9532
-
9992
+ /**
9993
+ * Javascript implementation of a basic Public Key Infrastructure, including
9994
+ * support for RSA public and private keys.
9995
+ *
9996
+ * @author Dave Longley
9997
+ *
9998
+ * Copyright (c) 2010-2013 Digital Bazaar, Inc.
9999
+ */
9533
10000
  var $iGlOy = parcelRequire("iGlOy");
9534
10001
 
9535
10002
 
9536
10003
  var $4ead143e6089ae29$exports = {};
9537
-
10004
+ /**
10005
+ * Password-based encryption functions.
10006
+ *
10007
+ * @author Dave Longley
10008
+ * @author Stefan Siegl <stesie@brokenpipe.de>
10009
+ *
10010
+ * Copyright (c) 2010-2013 Digital Bazaar, Inc.
10011
+ * Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
10012
+ *
10013
+ * An EncryptedPrivateKeyInfo:
10014
+ *
10015
+ * EncryptedPrivateKeyInfo ::= SEQUENCE {
10016
+ * encryptionAlgorithm EncryptionAlgorithmIdentifier,
10017
+ * encryptedData EncryptedData }
10018
+ *
10019
+ * EncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
10020
+ *
10021
+ * EncryptedData ::= OCTET STRING
10022
+ */
9538
10023
  var $iGlOy = parcelRequire("iGlOy");
9539
10024
 
9540
10025
 
9541
10026
  var $ff4c3bd9116e15cc$exports = {};
9542
-
10027
+ /**
10028
+ * DES (Data Encryption Standard) implementation.
10029
+ *
10030
+ * This implementation supports DES as well as 3DES-EDE in ECB and CBC mode.
10031
+ * It is based on the BSD-licensed implementation by Paul Tero:
10032
+ *
10033
+ * Paul Tero, July 2001
10034
+ * http://www.tero.co.uk/des/
10035
+ *
10036
+ * Optimised for performance with large blocks by
10037
+ * Michael Hayworth, November 2001
10038
+ * http://www.netdealing.com
10039
+ *
10040
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND
10041
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
10042
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
10043
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
10044
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
10045
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
10046
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
10047
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
10048
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
10049
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
10050
+ * SUCH DAMAGE.
10051
+ *
10052
+ * @author Stefan Siegl
10053
+ * @author Dave Longley
10054
+ *
10055
+ * Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
10056
+ * Copyright (c) 2012-2014 Digital Bazaar, Inc.
10057
+ */
9543
10058
  var $iGlOy = parcelRequire("iGlOy");
9544
10059
 
9545
10060
 
@@ -10704,7 +11219,15 @@ var $ff4c3bd9116e15cc$var$spfunction8 = [
10704
11219
  parcelRequire("ai0Z9");
10705
11220
 
10706
11221
  var $7436abf0cf29a7b7$exports = {};
10707
-
11222
+ /**
11223
+ * Password-Based Key-Derivation Function #2 implementation.
11224
+ *
11225
+ * See RFC 2898 for details.
11226
+ *
11227
+ * @author Dave Longley
11228
+ *
11229
+ * Copyright (c) 2010-2013 Digital Bazaar, Inc.
11230
+ */
10708
11231
  var $iGlOy = parcelRequire("iGlOy");
10709
11232
 
10710
11233
  parcelRequire("ai0Z9");
@@ -10863,11 +11386,33 @@ if ($iGlOy.util.isNodejs && !$iGlOy.options.usePureJavaScript) $7436abf0cf29a7b7
10863
11386
 
10864
11387
 
10865
11388
  var $b9b57fce3e6d85ef$exports = {};
10866
-
11389
+ /**
11390
+ * An API for getting cryptographically-secure random bytes. The bytes are
11391
+ * generated using the Fortuna algorithm devised by Bruce Schneier and
11392
+ * Niels Ferguson.
11393
+ *
11394
+ * Getting strong random bytes is not yet easy to do in javascript. The only
11395
+ * truish random entropy that can be collected is from the mouse, keyboard, or
11396
+ * from timing with respect to page loads, etc. This generator makes a poor
11397
+ * attempt at providing random bytes when those sources haven't yet provided
11398
+ * enough entropy to initially seed or to reseed the PRNG.
11399
+ *
11400
+ * @author Dave Longley
11401
+ *
11402
+ * Copyright (c) 2009-2014 Digital Bazaar, Inc.
11403
+ */
10867
11404
  var $iGlOy = parcelRequire("iGlOy");
10868
11405
 
10869
11406
  var $e523b90a804c5bd3$exports = {};
10870
-
11407
+ /**
11408
+ * Secure Hash Algorithm with 256-bit digest (SHA-256) implementation.
11409
+ *
11410
+ * See FIPS 180-2 for details.
11411
+ *
11412
+ * @author Dave Longley
11413
+ *
11414
+ * Copyright (c) 2010-2015 Digital Bazaar, Inc.
11415
+ */
10871
11416
  var $iGlOy = parcelRequire("iGlOy");
10872
11417
  parcelRequire("ai0Z9");
10873
11418
 
@@ -11177,7 +11722,17 @@ var $e523b90a804c5bd3$var$_k = null;
11177
11722
 
11178
11723
 
11179
11724
  var $c761b0edb959b99a$exports = {};
11180
-
11725
+ /**
11726
+ * A javascript implementation of a cryptographically-secure
11727
+ * Pseudo Random Number Generator (PRNG). The Fortuna algorithm is followed
11728
+ * here though the use of SHA-256 is not enforced; when generating an
11729
+ * a PRNG context, the hashing algorithm and block cipher used for
11730
+ * the generator are specified via a plugin.
11731
+ *
11732
+ * @author Dave Longley
11733
+ *
11734
+ * Copyright (c) 2010-2014 Digital Bazaar, Inc.
11735
+ */
11181
11736
  var $iGlOy = parcelRequire("iGlOy");
11182
11737
 
11183
11738
  var $c761b0edb959b99a$var$_crypto = null;
@@ -11641,7 +12196,16 @@ if ($iGlOy.util.isNodejs && !$iGlOy.options.usePureJavaScript && !process.versio
11641
12196
 
11642
12197
 
11643
12198
  var $e745366ef6f504e1$exports = {};
11644
-
12199
+ /**
12200
+ * RC2 implementation.
12201
+ *
12202
+ * @author Stefan Siegl
12203
+ *
12204
+ * Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
12205
+ *
12206
+ * Information on the RC2 cipher is available from RFC #2268,
12207
+ * http://www.ietf.org/rfc/rfc2268.txt
12208
+ */
11645
12209
  var $iGlOy = parcelRequire("iGlOy");
11646
12210
 
11647
12211
  var $e745366ef6f504e1$var$piTable = [
@@ -12202,11 +12766,116 @@ var $e745366ef6f504e1$var$s = [
12202
12766
 
12203
12767
 
12204
12768
  var $8ab3548bea1beb81$exports = {};
12205
-
12769
+ /**
12770
+ * Javascript implementation of basic RSA algorithms.
12771
+ *
12772
+ * @author Dave Longley
12773
+ *
12774
+ * Copyright (c) 2010-2014 Digital Bazaar, Inc.
12775
+ *
12776
+ * The only algorithm currently supported for PKI is RSA.
12777
+ *
12778
+ * An RSA key is often stored in ASN.1 DER format. The SubjectPublicKeyInfo
12779
+ * ASN.1 structure is composed of an algorithm of type AlgorithmIdentifier
12780
+ * and a subjectPublicKey of type bit string.
12781
+ *
12782
+ * The AlgorithmIdentifier contains an Object Identifier (OID) and parameters
12783
+ * for the algorithm, if any. In the case of RSA, there aren't any.
12784
+ *
12785
+ * SubjectPublicKeyInfo ::= SEQUENCE {
12786
+ * algorithm AlgorithmIdentifier,
12787
+ * subjectPublicKey BIT STRING
12788
+ * }
12789
+ *
12790
+ * AlgorithmIdentifer ::= SEQUENCE {
12791
+ * algorithm OBJECT IDENTIFIER,
12792
+ * parameters ANY DEFINED BY algorithm OPTIONAL
12793
+ * }
12794
+ *
12795
+ * For an RSA public key, the subjectPublicKey is:
12796
+ *
12797
+ * RSAPublicKey ::= SEQUENCE {
12798
+ * modulus INTEGER, -- n
12799
+ * publicExponent INTEGER -- e
12800
+ * }
12801
+ *
12802
+ * PrivateKeyInfo ::= SEQUENCE {
12803
+ * version Version,
12804
+ * privateKeyAlgorithm PrivateKeyAlgorithmIdentifier,
12805
+ * privateKey PrivateKey,
12806
+ * attributes [0] IMPLICIT Attributes OPTIONAL
12807
+ * }
12808
+ *
12809
+ * Version ::= INTEGER
12810
+ * PrivateKeyAlgorithmIdentifier ::= AlgorithmIdentifier
12811
+ * PrivateKey ::= OCTET STRING
12812
+ * Attributes ::= SET OF Attribute
12813
+ *
12814
+ * An RSA private key as the following structure:
12815
+ *
12816
+ * RSAPrivateKey ::= SEQUENCE {
12817
+ * version Version,
12818
+ * modulus INTEGER, -- n
12819
+ * publicExponent INTEGER, -- e
12820
+ * privateExponent INTEGER, -- d
12821
+ * prime1 INTEGER, -- p
12822
+ * prime2 INTEGER, -- q
12823
+ * exponent1 INTEGER, -- d mod (p-1)
12824
+ * exponent2 INTEGER, -- d mod (q-1)
12825
+ * coefficient INTEGER -- (inverse of q) mod p
12826
+ * }
12827
+ *
12828
+ * Version ::= INTEGER
12829
+ *
12830
+ * The OID for the RSA key algorithm is: 1.2.840.113549.1.1.1
12831
+ */
12206
12832
  var $iGlOy = parcelRequire("iGlOy");
12207
12833
 
12208
12834
  var $1831e702d86f54be$exports = {};
12209
-
12835
+ // Copyright (c) 2005 Tom Wu
12836
+ // All Rights Reserved.
12837
+ // See "LICENSE" for details.
12838
+ // Basic JavaScript BN library - subset useful for RSA encryption.
12839
+ /*
12840
+ Licensing (LICENSE)
12841
+ -------------------
12842
+
12843
+ This software is covered under the following copyright:
12844
+ */ /*
12845
+ * Copyright (c) 2003-2005 Tom Wu
12846
+ * All Rights Reserved.
12847
+ *
12848
+ * Permission is hereby granted, free of charge, to any person obtaining
12849
+ * a copy of this software and associated documentation files (the
12850
+ * "Software"), to deal in the Software without restriction, including
12851
+ * without limitation the rights to use, copy, modify, merge, publish,
12852
+ * distribute, sublicense, and/or sell copies of the Software, and to
12853
+ * permit persons to whom the Software is furnished to do so, subject to
12854
+ * the following conditions:
12855
+ *
12856
+ * The above copyright notice and this permission notice shall be
12857
+ * included in all copies or substantial portions of the Software.
12858
+ *
12859
+ * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
12860
+ * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
12861
+ * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
12862
+ *
12863
+ * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
12864
+ * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER
12865
+ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF
12866
+ * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT
12867
+ * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
12868
+ *
12869
+ * In addition, the following condition applies:
12870
+ *
12871
+ * All redistributions must retain an intact copy of this copyright notice
12872
+ * and disclaimer.
12873
+ */ /*
12874
+ Address all questions regarding this license to:
12875
+
12876
+ Tom Wu
12877
+ tjw@cs.Stanford.EDU
12878
+ */
12210
12879
  var $iGlOy = parcelRequire("iGlOy");
12211
12880
  $1831e702d86f54be$exports = $iGlOy.jsbn = $iGlOy.jsbn || {};
12212
12881
  // Bits per digit
@@ -13535,7 +14204,7 @@ function $1831e702d86f54be$var$bnpMillerRabin(t) {
13535
14204
  var y = a.modPow(r, this);
13536
14205
  if (y.compareTo($1831e702d86f54be$var$BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {
13537
14206
  var j = 1;
13538
- while((j++) < k && y.compareTo(n1) != 0){
14207
+ while(j++ < k && y.compareTo(n1) != 0){
13539
14208
  y = y.modPowInt(2, this);
13540
14209
  if (y.compareTo($1831e702d86f54be$var$BigInteger.ONE) == 0) return false;
13541
14210
  }
@@ -13612,12 +14281,62 @@ $1831e702d86f54be$var$BigInteger.prototype.isProbablePrime = $1831e702d86f54be$v
13612
14281
 
13613
14282
 
13614
14283
  var $564ac6480d83471d$exports = {};
13615
-
14284
+ /**
14285
+ * Partial implementation of PKCS#1 v2.2: RSA-OEAP
14286
+ *
14287
+ * Modified but based on the following MIT and BSD licensed code:
14288
+ *
14289
+ * https://github.com/kjur/jsjws/blob/master/rsa.js:
14290
+ *
14291
+ * The 'jsjws'(JSON Web Signature JavaScript Library) License
14292
+ *
14293
+ * Copyright (c) 2012 Kenji Urushima
14294
+ *
14295
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
14296
+ * of this software and associated documentation files (the "Software"), to deal
14297
+ * in the Software without restriction, including without limitation the rights
14298
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14299
+ * copies of the Software, and to permit persons to whom the Software is
14300
+ * furnished to do so, subject to the following conditions:
14301
+ *
14302
+ * The above copyright notice and this permission notice shall be included in
14303
+ * all copies or substantial portions of the Software.
14304
+ *
14305
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14306
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14307
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14308
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
14309
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
14310
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
14311
+ * THE SOFTWARE.
14312
+ *
14313
+ * http://webrsa.cvs.sourceforge.net/viewvc/webrsa/Client/RSAES-OAEP.js?content-type=text%2Fplain:
14314
+ *
14315
+ * RSAES-OAEP.js
14316
+ * $Id: RSAES-OAEP.js,v 1.1.1.1 2003/03/19 15:37:20 ellispritchard Exp $
14317
+ * JavaScript Implementation of PKCS #1 v2.1 RSA CRYPTOGRAPHY STANDARD (RSA Laboratories, June 14, 2002)
14318
+ * Copyright (C) Ellis Pritchard, Guardian Unlimited 2003.
14319
+ * Contact: ellis@nukinetics.com
14320
+ * Distributed under the BSD License.
14321
+ *
14322
+ * Official documentation: http://www.rsa.com/rsalabs/node.asp?id=2125
14323
+ *
14324
+ * @author Evan Jones (http://evanjones.ca/)
14325
+ * @author Dave Longley
14326
+ *
14327
+ * Copyright (c) 2013-2014 Digital Bazaar, Inc.
14328
+ */
13616
14329
  var $iGlOy = parcelRequire("iGlOy");
13617
14330
 
13618
14331
 
13619
14332
  var $7dc60e406dad2a14$exports = {};
13620
-
14333
+ /**
14334
+ * Secure Hash Algorithm with 160-bit digest (SHA-1) implementation.
14335
+ *
14336
+ * @author Dave Longley
14337
+ *
14338
+ * Copyright (c) 2010-2015 Digital Bazaar, Inc.
14339
+ */
13621
14340
  var $iGlOy = parcelRequire("iGlOy");
13622
14341
  parcelRequire("ai0Z9");
13623
14342
 
@@ -14052,7 +14771,13 @@ function $564ac6480d83471d$var$rsa_mgf1(seed, maskLength, hash) {
14052
14771
 
14053
14772
 
14054
14773
  var $82c15eca7626be33$exports = {};
14055
-
14774
+ /**
14775
+ * Prime number generation API.
14776
+ *
14777
+ * @author Dave Longley
14778
+ *
14779
+ * Copyright (c) 2014 Digital Bazaar, Inc.
14780
+ */
14056
14781
  var $iGlOy = parcelRequire("iGlOy");
14057
14782
 
14058
14783
 
@@ -14163,7 +14888,7 @@ var $iGlOy = parcelRequire("iGlOy");
14163
14888
  // do primality test
14164
14889
  if (num.isProbablePrime(mrTests)) return callback(null, num);
14165
14890
  // get next potential prime
14166
- num.dAddOffset(GCD_30_DELTA[(deltaIdx++) % 8], 0);
14891
+ num.dAddOffset(GCD_30_DELTA[deltaIdx++ % 8], 0);
14167
14892
  }while (maxBlockTime < 0 || +new Date() - start < maxBlockTime);
14168
14893
  // keep trying later
14169
14894
  $iGlOy.util.setImmediate(function() {
@@ -14918,7 +15643,7 @@ var $8ab3548bea1beb81$var$digestInfoValidator = {
14918
15643
  state.pqState = 0;
14919
15644
  else if (state.num.isProbablePrime($8ab3548bea1beb81$var$_getMillerRabinTests(state.num.bitLength()))) ++state.pqState;
14920
15645
  else // get next potential prime
14921
- state.num.dAddOffset($8ab3548bea1beb81$var$GCD_30_DELTA[(deltaIdx++) % 8], 0);
15646
+ state.num.dAddOffset($8ab3548bea1beb81$var$GCD_30_DELTA[deltaIdx++ % 8], 0);
14922
15647
  } else if (state.pqState === 2) // ensure number is coprime with e
14923
15648
  state.pqState = state.num.subtract($8ab3548bea1beb81$var$BigInteger.ONE).gcd(state.e).compareTo($8ab3548bea1beb81$var$BigInteger.ONE) === 0 ? 3 : 0;
14924
15649
  else if (state.pqState === 3) {
@@ -16733,13 +17458,215 @@ function $4ead143e6089ae29$var$createPbkdf2Params(salt, countBytes, dkLen, prfAl
16733
17458
 
16734
17459
 
16735
17460
  var $6fcb727b03413917$exports = {};
16736
-
17461
+ /**
17462
+ * Javascript implementation of PKCS#12.
17463
+ *
17464
+ * @author Dave Longley
17465
+ * @author Stefan Siegl <stesie@brokenpipe.de>
17466
+ *
17467
+ * Copyright (c) 2010-2014 Digital Bazaar, Inc.
17468
+ * Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
17469
+ *
17470
+ * The ASN.1 representation of PKCS#12 is as follows
17471
+ * (see ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-12/pkcs-12-tc1.pdf for details)
17472
+ *
17473
+ * PFX ::= SEQUENCE {
17474
+ * version INTEGER {v3(3)}(v3,...),
17475
+ * authSafe ContentInfo,
17476
+ * macData MacData OPTIONAL
17477
+ * }
17478
+ *
17479
+ * MacData ::= SEQUENCE {
17480
+ * mac DigestInfo,
17481
+ * macSalt OCTET STRING,
17482
+ * iterations INTEGER DEFAULT 1
17483
+ * }
17484
+ * Note: The iterations default is for historical reasons and its use is
17485
+ * deprecated. A higher value, like 1024, is recommended.
17486
+ *
17487
+ * DigestInfo is defined in PKCS#7 as follows:
17488
+ *
17489
+ * DigestInfo ::= SEQUENCE {
17490
+ * digestAlgorithm DigestAlgorithmIdentifier,
17491
+ * digest Digest
17492
+ * }
17493
+ *
17494
+ * DigestAlgorithmIdentifier ::= AlgorithmIdentifier
17495
+ *
17496
+ * The AlgorithmIdentifier contains an Object Identifier (OID) and parameters
17497
+ * for the algorithm, if any. In the case of SHA1 there is none.
17498
+ *
17499
+ * AlgorithmIdentifer ::= SEQUENCE {
17500
+ * algorithm OBJECT IDENTIFIER,
17501
+ * parameters ANY DEFINED BY algorithm OPTIONAL
17502
+ * }
17503
+ *
17504
+ * Digest ::= OCTET STRING
17505
+ *
17506
+ *
17507
+ * ContentInfo ::= SEQUENCE {
17508
+ * contentType ContentType,
17509
+ * content [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL
17510
+ * }
17511
+ *
17512
+ * ContentType ::= OBJECT IDENTIFIER
17513
+ *
17514
+ * AuthenticatedSafe ::= SEQUENCE OF ContentInfo
17515
+ * -- Data if unencrypted
17516
+ * -- EncryptedData if password-encrypted
17517
+ * -- EnvelopedData if public key-encrypted
17518
+ *
17519
+ *
17520
+ * SafeContents ::= SEQUENCE OF SafeBag
17521
+ *
17522
+ * SafeBag ::= SEQUENCE {
17523
+ * bagId BAG-TYPE.&id ({PKCS12BagSet})
17524
+ * bagValue [0] EXPLICIT BAG-TYPE.&Type({PKCS12BagSet}{@bagId}),
17525
+ * bagAttributes SET OF PKCS12Attribute OPTIONAL
17526
+ * }
17527
+ *
17528
+ * PKCS12Attribute ::= SEQUENCE {
17529
+ * attrId ATTRIBUTE.&id ({PKCS12AttrSet}),
17530
+ * attrValues SET OF ATTRIBUTE.&Type ({PKCS12AttrSet}{@attrId})
17531
+ * } -- This type is compatible with the X.500 type 'Attribute'
17532
+ *
17533
+ * PKCS12AttrSet ATTRIBUTE ::= {
17534
+ * friendlyName | -- from PKCS #9
17535
+ * localKeyId, -- from PKCS #9
17536
+ * ... -- Other attributes are allowed
17537
+ * }
17538
+ *
17539
+ * CertBag ::= SEQUENCE {
17540
+ * certId BAG-TYPE.&id ({CertTypes}),
17541
+ * certValue [0] EXPLICIT BAG-TYPE.&Type ({CertTypes}{@certId})
17542
+ * }
17543
+ *
17544
+ * x509Certificate BAG-TYPE ::= {OCTET STRING IDENTIFIED BY {certTypes 1}}
17545
+ * -- DER-encoded X.509 certificate stored in OCTET STRING
17546
+ *
17547
+ * sdsiCertificate BAG-TYPE ::= {IA5String IDENTIFIED BY {certTypes 2}}
17548
+ * -- Base64-encoded SDSI certificate stored in IA5String
17549
+ *
17550
+ * CertTypes BAG-TYPE ::= {
17551
+ * x509Certificate |
17552
+ * sdsiCertificate,
17553
+ * ... -- For future extensions
17554
+ * }
17555
+ */
16737
17556
  var $iGlOy = parcelRequire("iGlOy");
16738
17557
 
16739
17558
 
16740
17559
 
16741
17560
  var $a5c085c32c6e5e1a$exports = {};
16742
-
17561
+ /**
17562
+ * Javascript implementation of ASN.1 validators for PKCS#7 v1.5.
17563
+ *
17564
+ * @author Dave Longley
17565
+ * @author Stefan Siegl
17566
+ *
17567
+ * Copyright (c) 2012-2015 Digital Bazaar, Inc.
17568
+ * Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
17569
+ *
17570
+ * The ASN.1 representation of PKCS#7 is as follows
17571
+ * (see RFC #2315 for details, http://www.ietf.org/rfc/rfc2315.txt):
17572
+ *
17573
+ * A PKCS#7 message consists of a ContentInfo on root level, which may
17574
+ * contain any number of further ContentInfo nested into it.
17575
+ *
17576
+ * ContentInfo ::= SEQUENCE {
17577
+ * contentType ContentType,
17578
+ * content [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL
17579
+ * }
17580
+ *
17581
+ * ContentType ::= OBJECT IDENTIFIER
17582
+ *
17583
+ * EnvelopedData ::= SEQUENCE {
17584
+ * version Version,
17585
+ * recipientInfos RecipientInfos,
17586
+ * encryptedContentInfo EncryptedContentInfo
17587
+ * }
17588
+ *
17589
+ * EncryptedData ::= SEQUENCE {
17590
+ * version Version,
17591
+ * encryptedContentInfo EncryptedContentInfo
17592
+ * }
17593
+ *
17594
+ * id-signedData OBJECT IDENTIFIER ::= { iso(1) member-body(2)
17595
+ * us(840) rsadsi(113549) pkcs(1) pkcs7(7) 2 }
17596
+ *
17597
+ * SignedData ::= SEQUENCE {
17598
+ * version INTEGER,
17599
+ * digestAlgorithms DigestAlgorithmIdentifiers,
17600
+ * contentInfo ContentInfo,
17601
+ * certificates [0] IMPLICIT Certificates OPTIONAL,
17602
+ * crls [1] IMPLICIT CertificateRevocationLists OPTIONAL,
17603
+ * signerInfos SignerInfos
17604
+ * }
17605
+ *
17606
+ * SignerInfos ::= SET OF SignerInfo
17607
+ *
17608
+ * SignerInfo ::= SEQUENCE {
17609
+ * version Version,
17610
+ * issuerAndSerialNumber IssuerAndSerialNumber,
17611
+ * digestAlgorithm DigestAlgorithmIdentifier,
17612
+ * authenticatedAttributes [0] IMPLICIT Attributes OPTIONAL,
17613
+ * digestEncryptionAlgorithm DigestEncryptionAlgorithmIdentifier,
17614
+ * encryptedDigest EncryptedDigest,
17615
+ * unauthenticatedAttributes [1] IMPLICIT Attributes OPTIONAL
17616
+ * }
17617
+ *
17618
+ * EncryptedDigest ::= OCTET STRING
17619
+ *
17620
+ * Attributes ::= SET OF Attribute
17621
+ *
17622
+ * Attribute ::= SEQUENCE {
17623
+ * attrType OBJECT IDENTIFIER,
17624
+ * attrValues SET OF AttributeValue
17625
+ * }
17626
+ *
17627
+ * AttributeValue ::= ANY
17628
+ *
17629
+ * Version ::= INTEGER
17630
+ *
17631
+ * RecipientInfos ::= SET OF RecipientInfo
17632
+ *
17633
+ * EncryptedContentInfo ::= SEQUENCE {
17634
+ * contentType ContentType,
17635
+ * contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
17636
+ * encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL
17637
+ * }
17638
+ *
17639
+ * ContentEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
17640
+ *
17641
+ * The AlgorithmIdentifier contains an Object Identifier (OID) and parameters
17642
+ * for the algorithm, if any. In the case of AES and DES3, there is only one,
17643
+ * the IV.
17644
+ *
17645
+ * AlgorithmIdentifer ::= SEQUENCE {
17646
+ * algorithm OBJECT IDENTIFIER,
17647
+ * parameters ANY DEFINED BY algorithm OPTIONAL
17648
+ * }
17649
+ *
17650
+ * EncryptedContent ::= OCTET STRING
17651
+ *
17652
+ * RecipientInfo ::= SEQUENCE {
17653
+ * version Version,
17654
+ * issuerAndSerialNumber IssuerAndSerialNumber,
17655
+ * keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
17656
+ * encryptedKey EncryptedKey
17657
+ * }
17658
+ *
17659
+ * IssuerAndSerialNumber ::= SEQUENCE {
17660
+ * issuer Name,
17661
+ * serialNumber CertificateSerialNumber
17662
+ * }
17663
+ *
17664
+ * CertificateSerialNumber ::= INTEGER
17665
+ *
17666
+ * KeyEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
17667
+ *
17668
+ * EncryptedKey ::= OCTET STRING
17669
+ */
16743
17670
  var $iGlOy = parcelRequire("iGlOy");
16744
17671
 
16745
17672
 
@@ -17086,17 +18013,139 @@ $a5c085c32c6e5e1a$var$p7v.recipientInfoValidator = {
17086
18013
 
17087
18014
 
17088
18015
  var $f71d929f259208f7$exports = {};
17089
-
18016
+ /**
18017
+ * Javascript implementation of X.509 and related components (such as
18018
+ * Certification Signing Requests) of a Public Key Infrastructure.
18019
+ *
18020
+ * @author Dave Longley
18021
+ *
18022
+ * Copyright (c) 2010-2014 Digital Bazaar, Inc.
18023
+ *
18024
+ * The ASN.1 representation of an X.509v3 certificate is as follows
18025
+ * (see RFC 2459):
18026
+ *
18027
+ * Certificate ::= SEQUENCE {
18028
+ * tbsCertificate TBSCertificate,
18029
+ * signatureAlgorithm AlgorithmIdentifier,
18030
+ * signatureValue BIT STRING
18031
+ * }
18032
+ *
18033
+ * TBSCertificate ::= SEQUENCE {
18034
+ * version [0] EXPLICIT Version DEFAULT v1,
18035
+ * serialNumber CertificateSerialNumber,
18036
+ * signature AlgorithmIdentifier,
18037
+ * issuer Name,
18038
+ * validity Validity,
18039
+ * subject Name,
18040
+ * subjectPublicKeyInfo SubjectPublicKeyInfo,
18041
+ * issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL,
18042
+ * -- If present, version shall be v2 or v3
18043
+ * subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL,
18044
+ * -- If present, version shall be v2 or v3
18045
+ * extensions [3] EXPLICIT Extensions OPTIONAL
18046
+ * -- If present, version shall be v3
18047
+ * }
18048
+ *
18049
+ * Version ::= INTEGER { v1(0), v2(1), v3(2) }
18050
+ *
18051
+ * CertificateSerialNumber ::= INTEGER
18052
+ *
18053
+ * Name ::= CHOICE {
18054
+ * // only one possible choice for now
18055
+ * RDNSequence
18056
+ * }
18057
+ *
18058
+ * RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
18059
+ *
18060
+ * RelativeDistinguishedName ::= SET OF AttributeTypeAndValue
18061
+ *
18062
+ * AttributeTypeAndValue ::= SEQUENCE {
18063
+ * type AttributeType,
18064
+ * value AttributeValue
18065
+ * }
18066
+ * AttributeType ::= OBJECT IDENTIFIER
18067
+ * AttributeValue ::= ANY DEFINED BY AttributeType
18068
+ *
18069
+ * Validity ::= SEQUENCE {
18070
+ * notBefore Time,
18071
+ * notAfter Time
18072
+ * }
18073
+ *
18074
+ * Time ::= CHOICE {
18075
+ * utcTime UTCTime,
18076
+ * generalTime GeneralizedTime
18077
+ * }
18078
+ *
18079
+ * UniqueIdentifier ::= BIT STRING
18080
+ *
18081
+ * SubjectPublicKeyInfo ::= SEQUENCE {
18082
+ * algorithm AlgorithmIdentifier,
18083
+ * subjectPublicKey BIT STRING
18084
+ * }
18085
+ *
18086
+ * Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension
18087
+ *
18088
+ * Extension ::= SEQUENCE {
18089
+ * extnID OBJECT IDENTIFIER,
18090
+ * critical BOOLEAN DEFAULT FALSE,
18091
+ * extnValue OCTET STRING
18092
+ * }
18093
+ *
18094
+ * The only key algorithm currently supported for PKI is RSA.
18095
+ *
18096
+ * RSASSA-PSS signatures are described in RFC 3447 and RFC 4055.
18097
+ *
18098
+ * PKCS#10 v1.7 describes certificate signing requests:
18099
+ *
18100
+ * CertificationRequestInfo:
18101
+ *
18102
+ * CertificationRequestInfo ::= SEQUENCE {
18103
+ * version INTEGER { v1(0) } (v1,...),
18104
+ * subject Name,
18105
+ * subjectPKInfo SubjectPublicKeyInfo{{ PKInfoAlgorithms }},
18106
+ * attributes [0] Attributes{{ CRIAttributes }}
18107
+ * }
18108
+ *
18109
+ * Attributes { ATTRIBUTE:IOSet } ::= SET OF Attribute{{ IOSet }}
18110
+ *
18111
+ * CRIAttributes ATTRIBUTE ::= {
18112
+ * ... -- add any locally defined attributes here -- }
18113
+ *
18114
+ * Attribute { ATTRIBUTE:IOSet } ::= SEQUENCE {
18115
+ * type ATTRIBUTE.&id({IOSet}),
18116
+ * values SET SIZE(1..MAX) OF ATTRIBUTE.&Type({IOSet}{@type})
18117
+ * }
18118
+ *
18119
+ * CertificationRequest ::= SEQUENCE {
18120
+ * certificationRequestInfo CertificationRequestInfo,
18121
+ * signatureAlgorithm AlgorithmIdentifier{{ SignatureAlgorithms }},
18122
+ * signature BIT STRING
18123
+ * }
18124
+ */
17090
18125
  var $iGlOy = parcelRequire("iGlOy");
17091
18126
 
17092
18127
 
17093
18128
 
17094
18129
  parcelRequire("ai0Z9");
17095
18130
  var $c01d1f977f850a49$exports = {};
17096
-
18131
+ /**
18132
+ * Node.js module for Forge mask generation functions.
18133
+ *
18134
+ * @author Stefan Siegl
18135
+ *
18136
+ * Copyright 2012 Stefan Siegl <stesie@brokenpipe.de>
18137
+ */
17097
18138
  var $iGlOy = parcelRequire("iGlOy");
17098
18139
  var $1a758e61c98aa2f6$exports = {};
17099
-
18140
+ /**
18141
+ * Javascript implementation of mask generation function MGF1.
18142
+ *
18143
+ * @author Stefan Siegl
18144
+ * @author Dave Longley
18145
+ *
18146
+ * Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
18147
+ * Copyright (c) 2014 Digital Bazaar, Inc.
18148
+ */
17100
18149
  var $iGlOy = parcelRequire("iGlOy");
17101
18150
 
17102
18151
  $iGlOy.mgf = $iGlOy.mgf || {};
@@ -17141,7 +18190,13 @@ $iGlOy.mgf.mgf1 = $iGlOy.mgf1;
17141
18190
 
17142
18191
 
17143
18192
  var $6aa068716df79957$exports = {};
17144
-
18193
+ /**
18194
+ * Javascript implementation of PKCS#1 PSS signature padding.
18195
+ *
18196
+ * @author Stefan Siegl
18197
+ *
18198
+ * Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
18199
+ */
17145
18200
  var $iGlOy = parcelRequire("iGlOy");
17146
18201
 
17147
18202
 
@@ -24851,12 +25906,32 @@ function $48103dfbc323e2e4$var$initConnectionState(state, c, sp) {
24851
25906
 
24852
25907
 
24853
25908
  var $96695cc1b97188e1$exports = {};
24854
-
25909
+ /**
25910
+ * JavaScript implementation of Ed25519.
25911
+ *
25912
+ * Copyright (c) 2017-2019 Digital Bazaar, Inc.
25913
+ *
25914
+ * This implementation is based on the most excellent TweetNaCl which is
25915
+ * in the public domain. Many thanks to its contributors:
25916
+ *
25917
+ * https://github.com/dchest/tweetnacl-js
25918
+ */
24855
25919
  var $iGlOy = parcelRequire("iGlOy");
24856
25920
 
24857
25921
 
24858
25922
  var $33c8fc1a702f0359$exports = {};
24859
-
25923
+ /**
25924
+ * Secure Hash Algorithm with a 1024-bit block size implementation.
25925
+ *
25926
+ * This includes: SHA-512, SHA-384, SHA-512/224, and SHA-512/256. For
25927
+ * SHA-256 (block size 512 bits), see sha256.js.
25928
+ *
25929
+ * See FIPS 180-4 for details.
25930
+ *
25931
+ * @author Dave Longley
25932
+ *
25933
+ * Copyright (c) 2014-2015 Digital Bazaar, Inc.
25934
+ */
24860
25935
  var $iGlOy = parcelRequire("iGlOy");
24861
25936
  parcelRequire("ai0Z9");
24862
25937
 
@@ -25661,7 +26736,9 @@ var $33c8fc1a702f0359$var$_states = null;
25661
26736
 
25662
26737
 
25663
26738
 
25664
- var $4540a91b15e72417$export$fed72f95cdc10258;
26739
+ /**
26740
+ * Copyright (c) 2019 Digital Bazaar, Inc.
26741
+ */ var $4540a91b15e72417$export$fed72f95cdc10258;
25665
26742
  var $4540a91b15e72417$export$16f1063872153885;
25666
26743
 
25667
26744
  var $iGlOy = parcelRequire("iGlOy");
@@ -26767,7 +27844,15 @@ function $96695cc1b97188e1$var$M(o, a, b) {
26767
27844
 
26768
27845
 
26769
27846
  var $8866d3403f6374db$exports = {};
26770
-
27847
+ /**
27848
+ * Javascript implementation of RSA-KEM.
27849
+ *
27850
+ * @author Lautaro Cozzani Rodriguez
27851
+ * @author Dave Longley
27852
+ *
27853
+ * Copyright (c) 2014 Lautaro Cozzani <lautaro.cozzani@scytl.com>
27854
+ * Copyright (c) 2014 Digital Bazaar, Inc.
27855
+ */
26771
27856
  var $iGlOy = parcelRequire("iGlOy");
26772
27857
 
26773
27858
 
@@ -26900,7 +27985,13 @@ var $8866d3403f6374db$var$BigInteger = $iGlOy.jsbn.BigInteger;
26900
27985
 
26901
27986
 
26902
27987
  var $4b898e145571f67c$exports = {};
26903
-
27988
+ /**
27989
+ * Cross-browser support for logging in a web application.
27990
+ *
27991
+ * @author David I. Lehn <dlehn@digitalbazaar.com>
27992
+ *
27993
+ * Copyright (c) 2008-2013 Digital Bazaar, Inc.
27994
+ */
26904
27995
  var $iGlOy = parcelRequire("iGlOy");
26905
27996
 
26906
27997
  /* LOG API */ $4b898e145571f67c$exports = $iGlOy.log = $iGlOy.log || {};
@@ -27171,14 +28262,14 @@ $iGlOy.log.consoleLogger = $4b898e145571f67c$var$sConsoleLogger;
27171
28262
 
27172
28263
 
27173
28264
  var $8e579bac14cccf16$exports = {};
27174
-
27175
28265
  /**
27176
28266
  * Node.js module for all known Forge message digests.
27177
28267
  *
27178
28268
  * @author Dave Longley
27179
28269
  *
27180
28270
  * Copyright 2011-2017 Digital Bazaar, Inc.
27181
- */ $8e579bac14cccf16$exports = (parcelRequire("ai0Z9"));
28271
+ */
28272
+ $8e579bac14cccf16$exports = (parcelRequire("ai0Z9"));
27182
28273
 
27183
28274
 
27184
28275
 
@@ -27191,7 +28282,24 @@ var $8e579bac14cccf16$exports = {};
27191
28282
 
27192
28283
 
27193
28284
  var $e128d865c5cf51a7$exports = {};
27194
-
28285
+ /**
28286
+ * Javascript implementation of PKCS#7 v1.5.
28287
+ *
28288
+ * @author Stefan Siegl
28289
+ * @author Dave Longley
28290
+ *
28291
+ * Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
28292
+ * Copyright (c) 2012-2015 Digital Bazaar, Inc.
28293
+ *
28294
+ * Currently this implementation only supports ContentType of EnvelopedData,
28295
+ * EncryptedData, or SignedData at the root level. The top level elements may
28296
+ * contain only a ContentInfo of ContentType Data, i.e. plain data. Further
28297
+ * nesting is not (yet) supported.
28298
+ *
28299
+ * The Forge validators for PKCS #7's ASN.1 structures are available from
28300
+ * a separate file pkcs7asn1.js, since those are referenced from other
28301
+ * PKCS standards like PKCS #12.
28302
+ */
27195
28303
  var $iGlOy = parcelRequire("iGlOy");
27196
28304
 
27197
28305
 
@@ -28138,7 +29246,16 @@ $e128d865c5cf51a7$var$p7.createSignedData = function() {
28138
29246
 
28139
29247
 
28140
29248
  var $85c6486b1bf8bee8$exports = {};
28141
-
29249
+ /**
29250
+ * Functions to output keys in SSH-friendly formats.
29251
+ *
29252
+ * This is part of the Forge project which may be used under the terms of
29253
+ * either the BSD License or the GNU General Public License (GPL) Version 2.
29254
+ *
29255
+ * See: https://github.com/digitalbazaar/forge/blob/cbebca3780658703d925b61b2caffb1d263a6c1d/LICENSE
29256
+ *
29257
+ * @author https://github.com/shellac
29258
+ */
28142
29259
  var $iGlOy = parcelRequire("iGlOy");
28143
29260
 
28144
29261
 
@@ -28457,8 +29574,49 @@ async function $186980c178984fd2$export$2e2bcd8739ae039(fs, options) {
28457
29574
  }
28458
29575
 
28459
29576
 
29577
+
29578
+
29579
+ const $3dff16cfd200ff25$var$ABSOLUTE_PATH_REGEX = /^([a-zA-Z]:){0,1}[\\/]+/;
29580
+ const $3dff16cfd200ff25$var$SEPARATOR_REGEX = /[\\]+/g;
29581
+ function $3dff16cfd200ff25$export$e434c7255acda994(filepath) {
29582
+ return $3dff16cfd200ff25$var$ABSOLUTE_PATH_REGEX.test(filepath);
29583
+ }
29584
+ function $3dff16cfd200ff25$export$16778b798ae8e49d(filePath) {
29585
+ return filePath.replace($3dff16cfd200ff25$var$SEPARATOR_REGEX, "/");
29586
+ }
29587
+ function $3dff16cfd200ff25$export$6af368f973c74c5(filePath, leadingDotSlash = true) {
29588
+ if (leadingDotSlash && (filePath[0] !== "." || filePath[1] !== "." && filePath[1] !== "/" && filePath[1] !== "\\") && !(0, ($parcel$interopDefault($8C1kk$path))).isAbsolute(filePath)) return $3dff16cfd200ff25$export$16778b798ae8e49d("./" + filePath);
29589
+ else return $3dff16cfd200ff25$export$16778b798ae8e49d(filePath);
29590
+ }
29591
+ function $3dff16cfd200ff25$export$7413eea5ad243d4(from, to, leadingDotSlash = true) {
29592
+ // Fast path
29593
+ if (to.startsWith(from + "/")) return (leadingDotSlash ? "./" : "") + to.slice(from.length + 1);
29594
+ return $3dff16cfd200ff25$export$6af368f973c74c5((0, ($parcel$interopDefault($8C1kk$path))).relative(from, to), leadingDotSlash);
29595
+ }
29596
+
29597
+
29598
+ function $313980afb666b13e$export$2e2bcd8739ae039(_name) {
29599
+ let name = (0, ($parcel$interopDefault($8C1kk$path))).normalize(_name);
29600
+ let splitOn = name.indexOf((0, ($parcel$interopDefault($8C1kk$path))).sep);
29601
+ if (name.charAt(0) === "@") splitOn = name.indexOf((0, ($parcel$interopDefault($8C1kk$path))).sep, splitOn + 1);
29602
+ if (splitOn < 0) return [
29603
+ (0, $3dff16cfd200ff25$export$16778b798ae8e49d)(name),
29604
+ undefined
29605
+ ];
29606
+ else return [
29607
+ (0, $3dff16cfd200ff25$export$16778b798ae8e49d)(name.substring(0, splitOn)),
29608
+ name.substring(splitOn + 1) || undefined
29609
+ ];
29610
+ }
29611
+
29612
+
28460
29613
  var $5aee5a8e09e874bf$exports = {};
28461
- var $49a059b76f641953$exports = {};
29614
+ /*!
29615
+ * is-glob <https://github.com/jonschlinkert/is-glob>
29616
+ *
29617
+ * Copyright (c) 2014-2017, Jon Schlinkert.
29618
+ * Released under the MIT License.
29619
+ */ var $49a059b76f641953$exports = {};
28462
29620
  /*!
28463
29621
  * is-extglob <https://github.com/jonschlinkert/is-extglob>
28464
29622
  *
@@ -31882,25 +33040,6 @@ $b57e78be4f7a2622$exports = $b57e78be4f7a2622$var$FastGlob;
31882
33040
 
31883
33041
 
31884
33042
 
31885
- const $3dff16cfd200ff25$var$ABSOLUTE_PATH_REGEX = /^([a-zA-Z]:){0,1}[\\/]+/;
31886
- const $3dff16cfd200ff25$var$SEPARATOR_REGEX = /[\\]+/g;
31887
- function $3dff16cfd200ff25$export$e434c7255acda994(filepath) {
31888
- return $3dff16cfd200ff25$var$ABSOLUTE_PATH_REGEX.test(filepath);
31889
- }
31890
- function $3dff16cfd200ff25$export$16778b798ae8e49d(filePath) {
31891
- return filePath.replace($3dff16cfd200ff25$var$SEPARATOR_REGEX, "/");
31892
- }
31893
- function $3dff16cfd200ff25$export$6af368f973c74c5(filePath, leadingDotSlash = true) {
31894
- if (leadingDotSlash && (filePath[0] !== "." || filePath[1] !== "." && filePath[1] !== "/" && filePath[1] !== "\\") && !(0, ($parcel$interopDefault($8C1kk$path))).isAbsolute(filePath)) return $3dff16cfd200ff25$export$16778b798ae8e49d("./" + filePath);
31895
- else return $3dff16cfd200ff25$export$16778b798ae8e49d(filePath);
31896
- }
31897
- function $3dff16cfd200ff25$export$7413eea5ad243d4(from, to, leadingDotSlash = true) {
31898
- // Fast path
31899
- if (to.startsWith(from + "/")) return (leadingDotSlash ? "./" : "") + to.slice(from.length + 1);
31900
- return $3dff16cfd200ff25$export$6af368f973c74c5((0, ($parcel$interopDefault($8C1kk$path))).relative(from, to), leadingDotSlash);
31901
- }
31902
-
31903
-
31904
33043
  function $e8d0e504a4244d84$export$f3a2344a73dbdd42(p) {
31905
33044
  return (0, (/*@__PURE__*/$parcel$interopDefault($5aee5a8e09e874bf$exports)))((0, $3dff16cfd200ff25$export$16778b798ae8e49d)(p));
31906
33045
  }
@@ -32925,9 +34064,9 @@ function $e499d3e618e93ebd$export$2e2bcd8739ae039(fn, delay) {
32925
34064
 
32926
34065
 
32927
34066
  var $618f8c1de80a427f$exports = {};
32928
- "use strict";
32929
34067
 
32930
34068
  var $618f8c1de80a427f$var$$parcel$__dirname = $8C1kk$path.resolve(__dirname, "../../../../node_modules/open");
34069
+ "use strict";
32931
34070
 
32932
34071
  var $618f8c1de80a427f$require$promisify = $8C1kk$util.promisify;
32933
34072
 
@@ -35203,7 +36342,7 @@ function $4b14026b40817fca$export$42462553d605d8cd(fs, filePath) {
35203
36342
  }
35204
36343
 
35205
36344
 
35206
- let $1c93db5abaa33eaa$export$8b1c306fed4227bf; // $FlowFixMe[prop-missing]
36345
+ /* global MessageChannel:readonly */ let $1c93db5abaa33eaa$export$8b1c306fed4227bf; // $FlowFixMe[prop-missing]
35207
36346
  if (process.browser) {
35208
36347
  $1c93db5abaa33eaa$export$8b1c306fed4227bf = ArrayBuffer; // Safari has removed the constructor
35209
36348
  if (typeof SharedArrayBuffer !== "undefined") {