From 8908810e04e2c4e52b69c1ba7bddf30de2fe5f00 Mon Sep 17 00:00:00 2001 From: Lucas Menendez Date: Sun, 8 Oct 2023 01:15:34 +0200 Subject: [PATCH 01/15] initial code --- README.md | 27 ++++++++ cipher/cipher.go | 66 ++++++++++++++++++ cipher/cipher_test.go | 22 ++++++ cli/cli.go | 148 +++++++++++++++++++++++++++++++++++++++++ cmd/cli/main.go | 128 +++++++++++++++++++++++++++++++++++ go.mod | 3 + passwords/passwords.go | 67 +++++++++++++++++++ 7 files changed, 461 insertions(+) create mode 100644 README.md create mode 100644 cipher/cipher.go create mode 100644 cipher/cipher_test.go create mode 100644 cli/cli.go create mode 100644 cmd/cli/main.go create mode 100644 go.mod create mode 100644 passwords/passwords.go diff --git a/README.md b/README.md new file mode 100644 index 0000000..38829b6 --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +# MyKeys-CLI + +``` +$ > ./mykeys-cli -h +🔐 MyKeys CLI 🔐 +Usage: mykeys-cli -p -a [options] +Options: + -a string + action to perform: set, delelete, get, list + -alias string + alias of the password + -b64 string + passwords file content encoded in base64 + -f string + path to passwords file (default "mykeys.out") + -json + print the output in json format + -p string + passphrase to decrypt and encrypt the passwords file + -pass string + password of the password + -print + print the password instead of writing to the filepath + -user string + username of the password + +``` \ No newline at end of file diff --git a/cipher/cipher.go b/cipher/cipher.go new file mode 100644 index 0000000..6edd2ac --- /dev/null +++ b/cipher/cipher.go @@ -0,0 +1,66 @@ +package cipher + +import ( + "crypto/aes" + "crypto/cipher" + "crypto/md5" + "crypto/rand" + "fmt" + "io" +) + +// hashFunc returns the md5 hash of the given raw data. It is used to generate +// the key for the cipher based on the passphrase provided by the user. +func hashFunc(raw []byte) []byte { + hasher := md5.New() + hasher.Write([]byte(raw)) + return hasher.Sum(nil) +} + +// Encrypt encrypts the given data using the passphrase provided by the user. +func Encrypt(data, passphrase []byte) ([]byte, error) { + // create the cipher block with the hash of the passphrase provided by the + // user + block, err := aes.NewCipher(hashFunc(passphrase)) + if err != nil { + return nil, fmt.Errorf("cipher error during encryption: %w", err) + } + // create the gcm cipher with the block created above + gcm, err := cipher.NewGCM(block) + if err != nil { + return nil, fmt.Errorf("cipher error during encryption: %w", err) + } + // create a slice of bytes with the size of the nonce and fill it with + nonce := make([]byte, gcm.NonceSize()) + if _, err = io.ReadFull(rand.Reader, nonce); err != nil { + return nil, fmt.Errorf("cipher error during encryption: %w", err) + } + // return the encrypted data with the nonce bytes prepended + return gcm.Seal(nonce, nonce, data, nil), nil +} + +// Decrypt decrypts the given data using the passphrase provided by the user. +func Decrypt(data, passphrase []byte) ([]byte, error) { + // create the cipher block with the hash of the passphrase provided by the + // user + block, err := aes.NewCipher(hashFunc(passphrase)) + if err != nil { + return nil, fmt.Errorf("cipher error during decryption: %w", err) + } + // create the gcm cipher with the block created above + gcm, err := cipher.NewGCM(block) + if err != nil { + return nil, fmt.Errorf("cipher error during decryption: %w", err) + } + // get the nonce size + nonceSize := gcm.NonceSize() + // get the nonce and the ciphertext from the data slice, the nonce is the + // first nonceSize bytes and the ciphertext is the rest + nonce, ciphertext := data[:nonceSize], data[nonceSize:] + // decrypt the ciphertext with the nonce using the gcm cipher + result, err := gcm.Open(nil, nonce, ciphertext, nil) + if err != nil { + return nil, fmt.Errorf("cipher error during decryption: %w", err) + } + return result, nil +} diff --git a/cipher/cipher_test.go b/cipher/cipher_test.go new file mode 100644 index 0000000..f2a4a44 --- /dev/null +++ b/cipher/cipher_test.go @@ -0,0 +1,22 @@ +package cipher + +import "testing" + +func TestEncryptDecrypt(t *testing.T) { + input := "example" + pass := "password" + + encrypted, err := Encrypt([]byte(input), []byte(pass)) + if err != nil { + t.Fatalf("Expected success during input encryption, got error: %s", err) + } + + decrypted, err := Decrypt(encrypted, []byte(pass)) + if err != nil { + t.Fatalf("Expected success during input decryption, got error: %s", err) + } + + if string(decrypted) != input { + t.Fatalf("Expected '%s', got '%s'", input, decrypted) + } +} diff --git a/cli/cli.go b/cli/cli.go new file mode 100644 index 0000000..575f9bf --- /dev/null +++ b/cli/cli.go @@ -0,0 +1,148 @@ +package cli + +import ( + "encoding/base64" + "fmt" + "os" + + "github.com/lucasmenendez/mykeys-cli/cipher" + "github.com/lucasmenendez/mykeys-cli/passwords" +) + +// CLI is the struct that represents the command line interface of MyKeys. Ir +// has the filepath of the passwords file, the passphrase to encrypt and +// decrypt it and a password map. +type CLI struct { + passphrase []byte + filepath string + passwords passwords.Passwords +} + +// New returns a new CLI with the given filepath and passphrase. It also inits +// the passwords map. It converts the passphrase from string to a slice of +// bytes. +func New(filepath, passphrase string) *CLI { + return &CLI{ + filepath: filepath, + passphrase: []byte(passphrase), + passwords: make(map[string]*passwords.Password), + } +} + +// Open opens the passwords file and decrypts it with the passphrase provided, +// filling the passwords map. +func (cli *CLI) Open() error { + // read the encrypted passwords file + encrypted, err := os.ReadFile(cli.filepath) + if err != nil { + return fmt.Errorf("error during passwords reading: %w", err) + } + // if the file is empty, return without error + if len(encrypted) == 0 { + return nil + } + // decrypt the passwords file with the passphrase provided + rawPasswords, err := cipher.Decrypt(encrypted, cli.passphrase) + if err != nil { + return fmt.Errorf("error during passwords decryption: %w", err) + } + // import the passwords into the passwords map + if err := cli.passwords.Import(rawPasswords); err != nil { + return fmt.Errorf("error during passwords import: %w", err) + } + return nil +} + +// Import imports the passwords from the base64 encoded string provided. +func (cli *CLI) Import(dump string) error { + // decode the base64 string + encrypted, err := base64.StdEncoding.DecodeString(dump) + if err != nil { + return fmt.Errorf("error during passwords decoding: %w", err) + } + // decrypt the passwords file with the passphrase provided + rawPasswords, err := cipher.Decrypt(encrypted, cli.passphrase) + if err != nil { + return fmt.Errorf("error during passwords decryption: %w", err) + } + // import the passwords into the passwords map + if err := cli.passwords.Import(rawPasswords); err != nil { + return fmt.Errorf("error during passwords import: %w", err) + } + return nil +} + +// Export encrypts and exports the passwords map to a base64 encoded string. +func (cli *CLI) Export() (string, error) { + // export the passwords map to a json representation + rawPasswords, err := cli.passwords.Export() + if err != nil { + return "", fmt.Errorf("error during passwords export: %w", err) + } + // encrypt the json representation with the passphrase provided + encrypted, err := cipher.Encrypt(rawPasswords, cli.passphrase) + if err != nil { + return "", fmt.Errorf("error during passwords encryption: %w", err) + } + // encode the encrypted data to base64 + return base64.StdEncoding.EncodeToString(encrypted), nil +} + +// Save encrypts and saves the passwords map to the passwords file, overwriting +// it. +func (cli *CLI) Save() error { + // export the passwords map to a json representation + rawPasswords, err := cli.passwords.Export() + if err != nil { + return fmt.Errorf("error during passwords export: %w", err) + } + // encrypt the json representation with the passphrase provided + encrypted, err := cipher.Encrypt(rawPasswords, cli.passphrase) + if err != nil { + return fmt.Errorf("error during passwords encryption: %w", err) + } + // save the encrypted data to the passwords file, overwriting it + if err := os.WriteFile(cli.filepath, encrypted, 0644); err != nil { + return fmt.Errorf("error during passwords saving: %w", err) + } + return nil +} + +// Set sets the password with the given alias, username and password. If it +// already exists, it will be overwritten. +func (cli *CLI) Set(alias, username, password string) { + cli.passwords = cli.passwords.Set(alias, username, password) +} + +// Del deletes the password with the given alias, if it exists. +func (cli *CLI) Del(alias string) { + cli.passwords = cli.passwords.Del(alias) +} + +// List lists all the passwords in the passwords map. If json is true, it will +// print the json representation of the passwords map. If json is false, it +// will print the string representation of the passwords map. +func (cli *CLI) List(json bool) { + if json { + fmt.Println(cli.passwords) + return + } + for alias, pass := range cli.passwords { + fmt.Printf("[%s] %s: %s\n", alias, pass.Username, pass.Password) + } +} + +// Get returns the password with the given alias. If json is true, it will +// print the json representation of the password. If json is false, it will +// print the string representation of the password. +func (cli *CLI) Get(alias string, json bool) { + if pass := cli.passwords.Get(alias); pass != nil { + if json { + fmt.Println(pass) + return + } + fmt.Printf("[%s] %s: %s\n", alias, pass.Username, pass.Password) + return + } + fmt.Printf("%s not found\n", alias) +} diff --git a/cmd/cli/main.go b/cmd/cli/main.go new file mode 100644 index 0000000..9754e6f --- /dev/null +++ b/cmd/cli/main.go @@ -0,0 +1,128 @@ +package main + +import ( + "flag" + "fmt" + + "github.com/lucasmenendez/mykeys-cli/cli" +) + +const ( + // cli messages + passphraseRequired = "passphrase is required, please use -p flag" + noActionMsg = "action is required, please use -a flag" + aliasRequiredMsg = "alias is required, please use -alias flag" + usernameRequiredMsg = "username is required, please use -user flag" + passwordRequiredMsg = "password is required, please use -pass flag" + usageMsg = `🔐 MyKeys CLI 🔐 +Usage: mykeys-cli -p -a [options] +Options:` +) + +var ( + // config flags + filepath = flag.String("f", "mykeys.out", "path to passwords file") + b64 = flag.String("b64", "", "passwords file content encoded in base64") + passphrase = flag.String("p", "", "(required) passphrase to decrypt and encrypt the passwords file") + action = flag.String("a", "", "(required) action to perform: set, delelete, get, list") + print = flag.Bool("print", false, "print the password instead of writing to the filepath") + json = flag.Bool("json", false, "print the output in json format") + // input data flags + alias = flag.String("alias", "", "alias of the password") + username = flag.String("user", "", "username of the password") + password = flag.String("pass", "", "password of the password") +) + +func main() { + flag.Usage = func() { + fmt.Println(usageMsg) + flag.PrintDefaults() + } + flag.Parse() + // Check required flags + if passphrase == nil || *passphrase == "" { + fmt.Println(passphraseRequired) + return + } + if action == nil || *action == "" { + fmt.Println(noActionMsg) + return + } + // Create CLI + mykeysCLI := cli.New(*filepath, *passphrase) + // Import from base64 or read it from the file + if b64 != nil && *b64 != "" { + if err := mykeysCLI.Import(*b64); err != nil { + fmt.Println(err) + return + } + } else { + if err := mykeysCLI.Open(); err != nil { + fmt.Println(err) + return + } + } + // create a commit function to save or print the result + commit := func() { + // if print is false, save the result in the file and exit + if print == nil || !*print { + if err := mykeysCLI.Save(); err != nil { + fmt.Println(err) + } + return + } + // if print is true, print the result + dump, err := mykeysCLI.Export() + if err != nil { + fmt.Println(err) + return + } + fmt.Println(dump) + } + // check the provided action + switch *action { + case "set": + // check required flags for set action (alias, username, password) + if alias == nil || *alias == "" { + fmt.Println(aliasRequiredMsg) + return + } + if username == nil || *username == "" { + fmt.Println(usernameRequiredMsg) + return + } + if password == nil || *password == "" { + fmt.Println(passwordRequiredMsg) + return + } + // perform the set action with the provided flags and commit the result + mykeysCLI.Set(*alias, *username, *password) + commit() + case "delete": + // check required flags for delete action (alias) + if alias == nil || *alias == "" { + fmt.Println(aliasRequiredMsg) + return + } + // perform the delete action with the provided flags and commit the + // result + mykeysCLI.Del(*alias) + commit() + case "get": + // check required flags for get action (alias) + if alias == nil || *alias == "" { + fmt.Println(aliasRequiredMsg) + return + } + // perform the get action with the provided flags, json flag defines + // if the output should be printed in json format + mykeysCLI.Get(*alias, *json) + case "list": + // perform the list action with the provided flags, json flag defines + // if the output should be printed in json format + mykeysCLI.List(*json) + default: + // by default print the no action message + fmt.Println(noActionMsg) + } +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..ef3868d --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module github.com/lucasmenendez/mykeys-cli + +go 1.21.1 diff --git a/passwords/passwords.go b/passwords/passwords.go new file mode 100644 index 0000000..2a67766 --- /dev/null +++ b/passwords/passwords.go @@ -0,0 +1,67 @@ +package passwords + +import "encoding/json" + +// Password is the struct that represents a password, it has an username and a +// password. +type Password struct { + Username string `json:"username"` + Password string `json:"password"` +} + +// String returns the string representation of the password. It uses the +// Export() method to get the json representation of the password and then +// converts it to string. +func (p *Password) String() string { + if dump, err := p.Export(); err == nil { + return string(dump) + } + return "" +} + +// Export returns the json representation of the password. +func (p *Password) Export() ([]byte, error) { + return json.Marshal(p) +} + +// Passwords is the struct that represents a collection of passwords, it is a +// map of alias to password. +type Passwords map[string]*Password + +// String returns the string representation of the passwords. It uses the +// Export() method to get the json representation of the passwords and then +// converts it to string. +func (p Passwords) String() string { + if dump, err := p.Export(); err == nil { + return string(dump) + } + return "" +} + +// Export returns the json representation of the passwords. +func (p Passwords) Export() ([]byte, error) { + return json.Marshal(p) +} + +// Import imports the passwords from the json representation. +func (p Passwords) Import(data []byte) error { + return json.Unmarshal(data, &p) +} + +// Get returns the password with the given alias. +func (p Passwords) Get(alias string) *Password { + return p[alias] +} + +// Set sets the password with the given alias, username and password. If it +// already exists, it will be overwritten. +func (p Passwords) Set(alias, username, password string) Passwords { + p[alias] = &Password{Username: username, Password: password} + return p +} + +// Del deletes the password with the given alias, if it exists. +func (p Passwords) Del(alias string) Passwords { + delete(p, alias) + return p +} From 0b2fde375a103c7b70ff8b1618f6c68e3ea61c66 Mon Sep 17 00:00:00 2001 From: Lucas Menendez Date: Mon, 9 Oct 2023 00:13:49 +0200 Subject: [PATCH 02/15] storing passwords in base64 also in local files to make it interoperable --- README.md | 5 ++--- cli/cli.go | 23 ++++------------------- cmd/cli/main.go | 4 ++-- 3 files changed, 8 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 38829b6..bc5cd30 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ $ > ./mykeys-cli -h Usage: mykeys-cli -p -a [options] Options: -a string - action to perform: set, delelete, get, list + (required) action to perform: set, del, get, list -alias string alias of the password -b64 string @@ -16,12 +16,11 @@ Options: -json print the output in json format -p string - passphrase to decrypt and encrypt the passwords file + (required) passphrase to decrypt and encrypt the passwords file -pass string password of the password -print print the password instead of writing to the filepath -user string username of the password - ``` \ No newline at end of file diff --git a/cli/cli.go b/cli/cli.go index 575f9bf..23967bb 100644 --- a/cli/cli.go +++ b/cli/cli.go @@ -41,16 +41,7 @@ func (cli *CLI) Open() error { if len(encrypted) == 0 { return nil } - // decrypt the passwords file with the passphrase provided - rawPasswords, err := cipher.Decrypt(encrypted, cli.passphrase) - if err != nil { - return fmt.Errorf("error during passwords decryption: %w", err) - } - // import the passwords into the passwords map - if err := cli.passwords.Import(rawPasswords); err != nil { - return fmt.Errorf("error during passwords import: %w", err) - } - return nil + return cli.Import(string(encrypted)) } // Import imports the passwords from the base64 encoded string provided. @@ -91,18 +82,12 @@ func (cli *CLI) Export() (string, error) { // Save encrypts and saves the passwords map to the passwords file, overwriting // it. func (cli *CLI) Save() error { - // export the passwords map to a json representation - rawPasswords, err := cli.passwords.Export() - if err != nil { - return fmt.Errorf("error during passwords export: %w", err) - } - // encrypt the json representation with the passphrase provided - encrypted, err := cipher.Encrypt(rawPasswords, cli.passphrase) + strExport, err := cli.Export() if err != nil { - return fmt.Errorf("error during passwords encryption: %w", err) + return err } // save the encrypted data to the passwords file, overwriting it - if err := os.WriteFile(cli.filepath, encrypted, 0644); err != nil { + if err := os.WriteFile(cli.filepath, []byte(strExport), 0644); err != nil { return fmt.Errorf("error during passwords saving: %w", err) } return nil diff --git a/cmd/cli/main.go b/cmd/cli/main.go index 9754e6f..0a30e22 100644 --- a/cmd/cli/main.go +++ b/cmd/cli/main.go @@ -24,7 +24,7 @@ var ( filepath = flag.String("f", "mykeys.out", "path to passwords file") b64 = flag.String("b64", "", "passwords file content encoded in base64") passphrase = flag.String("p", "", "(required) passphrase to decrypt and encrypt the passwords file") - action = flag.String("a", "", "(required) action to perform: set, delelete, get, list") + action = flag.String("a", "", "(required) action to perform: set, del, get, list") print = flag.Bool("print", false, "print the password instead of writing to the filepath") json = flag.Bool("json", false, "print the output in json format") // input data flags @@ -98,7 +98,7 @@ func main() { // perform the set action with the provided flags and commit the result mykeysCLI.Set(*alias, *username, *password) commit() - case "delete": + case "del": // check required flags for delete action (alias) if alias == nil || *alias == "" { fmt.Println(aliasRequiredMsg) From b81d62061cbe54ddca9cd3b151fada05279e69b8 Mon Sep 17 00:00:00 2001 From: Lucas Menendez Date: Tue, 10 Oct 2023 00:56:43 +0200 Subject: [PATCH 03/15] cli package now returns strings on list and get functions, new web demo using webassembly --- README.md | 28 +++++++++- cli/cli.go | 19 +++---- cmd/cli/main.go | 12 +++- cmd/webassembly/main.go | 118 ++++++++++++++++++++++++++++++++++++++++ web/index.html | 58 ++++++++++++++++++++ web/main.js | 36 ++++++++++++ 6 files changed, 258 insertions(+), 13 deletions(-) create mode 100644 cmd/webassembly/main.go create mode 100644 web/index.html create mode 100644 web/main.js diff --git a/README.md b/README.md index bc5cd30..675a339 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,13 @@ # MyKeys-CLI +## CLI + +### Build +```sh +go build -o ./mykeys-cli ./cmd/cli && chmod +x ./mykeys-cli +``` + +### Demo ``` $ > ./mykeys-cli -h 🔐 MyKeys CLI 🔐 @@ -23,4 +31,22 @@ Options: print the password instead of writing to the filepath -user string username of the password -``` \ No newline at end of file +``` + +## WebAssembly + +### Build +```sh +# build for webassembly and save the result in the ./web folder +GOOS=js GOARCH=wasm go build -o ./web/main.wasm ./cmd/webassembly +``` + +### Demo +```sh +# copy wasm_exec.js from yout go installation to ./web folder +cp "$(go env GOROOT)/misc/wasm/wasm_exec.js" ./web + +# go to ./web folder and start an local http server on 5500 port +cd ./web && python3 -m http.server 5500 +``` +Go to [localhost:5500](http://127.0.0.1:5500) to check a demo. \ No newline at end of file diff --git a/cli/cli.go b/cli/cli.go index 23967bb..cf66d15 100644 --- a/cli/cli.go +++ b/cli/cli.go @@ -107,27 +107,26 @@ func (cli *CLI) Del(alias string) { // List lists all the passwords in the passwords map. If json is true, it will // print the json representation of the passwords map. If json is false, it // will print the string representation of the passwords map. -func (cli *CLI) List(json bool) { +func (cli *CLI) List(json bool) string { if json { - fmt.Println(cli.passwords) - return + return cli.passwords.String() } + var result string for alias, pass := range cli.passwords { - fmt.Printf("[%s] %s: %s\n", alias, pass.Username, pass.Password) + result += fmt.Sprintf("[%s] %s: %s\n", alias, pass.Username, pass.Password) } + return result } // Get returns the password with the given alias. If json is true, it will // print the json representation of the password. If json is false, it will // print the string representation of the password. -func (cli *CLI) Get(alias string, json bool) { +func (cli *CLI) Get(alias string, json bool) string { if pass := cli.passwords.Get(alias); pass != nil { if json { - fmt.Println(pass) - return + return pass.String() } - fmt.Printf("[%s] %s: %s\n", alias, pass.Username, pass.Password) - return + return fmt.Sprintf("[%s] %s: %s\n", alias, pass.Username, pass.Password) } - fmt.Printf("%s not found\n", alias) + return "" } diff --git a/cmd/cli/main.go b/cmd/cli/main.go index 0a30e22..97f7373 100644 --- a/cmd/cli/main.go +++ b/cmd/cli/main.go @@ -116,11 +116,19 @@ func main() { } // perform the get action with the provided flags, json flag defines // if the output should be printed in json format - mykeysCLI.Get(*alias, *json) + if pass := mykeysCLI.Get(*alias, *json); pass != "" { + fmt.Println(pass) + return + } + fmt.Printf("password with alias %s not found\n", *alias) case "list": // perform the list action with the provided flags, json flag defines // if the output should be printed in json format - mykeysCLI.List(*json) + if passes := mykeysCLI.List(*json); passes != "" && passes != "{}" { + fmt.Println(passes) + return + } + fmt.Println("no passwords found") default: // by default print the no action message fmt.Println(noActionMsg) diff --git a/cmd/webassembly/main.go b/cmd/webassembly/main.go new file mode 100644 index 0000000..719ba80 --- /dev/null +++ b/cmd/webassembly/main.go @@ -0,0 +1,118 @@ +//go:build js && wasm +// +build js,wasm + +package main + +import ( + "fmt" + "syscall/js" + + "github.com/lucasmenendez/mykeys-cli/cli" +) + +const ( + // js names + jsClassName = "MyKeysCLI" + jsListMethod = "list" + jsGetMethod = "get" + jsSetMethod = "set" + jsDelMethod = "del" + // required number of arguments for each method + listPasswordsNArgs = 2 // b64, passphrase + getPasswordNArgs = 3 // b64, passphrase, alias + setPasswordNArgs = 5 // b64, passphrase, alias, username, password + delPasswordNArgs = 3 // b64, passphrase, alias +) + +func initCLI(b64, passphrase js.Value) (*cli.CLI, error) { + // Check required param (passphrase) + if passphrase.String() == "" { + return nil, fmt.Errorf("no passphrase provided") + } + // Create CLI with empty filepath and the provided passphrase + mykeysCLI := cli.New("", passphrase.String()) + // Import from base64 or read it from the file + if b64.String() != "" { + if err := mykeysCLI.Import(b64.String()); err != nil { + return nil, err + } + } + return mykeysCLI, nil +} + +func main() { + myKeysClass := js.ValueOf(map[string]interface{}{}) + myKeysClass.Set(jsListMethod, + js.FuncOf(func(this js.Value, args []js.Value) any { + // Check the number of required params (b64 and passphrase) + if len(args) != listPasswordsNArgs { + return fmt.Sprintf("error: %d arguments required", listPasswordsNArgs) + } + // Create CLI + mykeysCLI, err := initCLI(args[0], args[1]) + if err != nil { + return fmt.Sprintf("error: %s", err.Error()) + } + // Return the list of passwords as a JSON string + return mykeysCLI.List(true) + })) + myKeysClass.Set(jsGetMethod, + js.FuncOf(func(this js.Value, args []js.Value) any { + // Check the number of required params (b64, passphrase and alias) + if len(args) != getPasswordNArgs { + return fmt.Sprintf("error: %d arguments required", getPasswordNArgs) + } + // Create CLI + mykeysCLI, err := initCLI(args[0], args[1]) + if err != nil { + return fmt.Sprintf("error: %s", err.Error()) + } + // Return the password as a JSON string + return mykeysCLI.Get(args[2].String(), true) + })) + myKeysClass.Set(jsSetMethod, + js.FuncOf(func(this js.Value, args []js.Value) any { + // Check the number of required params (b64, passphrase, alias, + // username and password) + if len(args) != setPasswordNArgs { + return fmt.Sprintf("error: %d arguments required", setPasswordNArgs) + } + // Create CLI + mykeysCLI, err := initCLI(args[0], args[1]) + if err != nil { + return fmt.Sprintf("error: %s", err.Error()) + } + // Set the password + mykeysCLI.Set(args[2].String(), args[3].String(), args[4].String()) + // Return the list of passwords as a JSON string + list, err := mykeysCLI.Export() + if err != nil { + return fmt.Sprintf("error: %s", err.Error()) + } + return list + })) + myKeysClass.Set(jsDelMethod, + js.FuncOf(func(this js.Value, args []js.Value) any { + // Check the number of required params (b64, passphrase and alias) + if len(args) != delPasswordNArgs { + return fmt.Sprintf("error: %d arguments required", delPasswordNArgs) + } + // Create CLI + mykeysCLI, err := initCLI(args[0], args[1]) + if err != nil { + return fmt.Sprintf("error: %s", err.Error()) + } + // Delete the password + mykeysCLI.Del(args[2].String()) + // Return the list of passwords as a JSON string + list, err := mykeysCLI.Export() + if err != nil { + return fmt.Sprintf("error: %s", err.Error()) + } + return list + })) + // Set the MyKeys class in the global scope of the JS environment + js.Global().Set(jsClassName, myKeysClass) + // keep the program running forever + select {} +} diff --git a/web/index.html b/web/index.html new file mode 100644 index 0000000..cda0d6f --- /dev/null +++ b/web/index.html @@ -0,0 +1,58 @@ + + + + + MyKeysCLI Example + + + +
+
+
+ +
+ + +
+
+ + + +
+
+ + +
+
+
+
+ + + + + \ No newline at end of file diff --git a/web/main.js b/web/main.js new file mode 100644 index 0000000..c9c5dea --- /dev/null +++ b/web/main.js @@ -0,0 +1,36 @@ +async function loadGoEnv() { + // Instantiate our wasm module + const go = new Go(); + const result = await WebAssembly.instantiateStreaming(fetch("main.wasm"), go.importObject); + go.run(result.instance); +} + +(async function(){ + await loadGoEnv(); + document.getElementById("main-form").addEventListener("submit", function(e) { + e.preventDefault(); + let b64file = document.getElementById("base64").value, + passphrase = document.getElementById("passphrase").value; + action = document.getElementById("action").value, + alias = document.getElementById("alias").value, + username = document.getElementById("username").value, + password = document.getElementById("password").value; + + let result = "Unknown action"; + switch (action) { + case "list": + result = MyKeysCLI.list(b64file, passphrase); + break; + case "get": + result = MyKeysCLI.get(b64file, passphrase, alias); + break; + case "set": + result = MyKeysCLI.set(b64file, passphrase, alias, username, password); + break; + case "del": + result = MyKeysCLI.del(b64file, passphrase, alias); + break; + } + document.getElementById("output").innerText = result; + }); +})() \ No newline at end of file From 017a00ebb3ecc14094789ce0d2e88849922632dd Mon Sep 17 00:00:00 2001 From: Lucas Menendez Date: Wed, 11 Oct 2023 00:09:03 +0200 Subject: [PATCH 04/15] base64url, makefile and script to mock a file with 100 passwords --- Makefile | 9 ++++++ base64url/base64url.go | 36 +++++++++++++++++++++++ base64url/base64url_test.go | 58 +++++++++++++++++++++++++++++++++++++ cli/cli.go | 6 ++-- scripts/mock-passes.sh | 9 ++++++ web/index.html | 2 +- web/main.js | 7 +++++ 7 files changed, 123 insertions(+), 4 deletions(-) create mode 100644 Makefile create mode 100644 base64url/base64url.go create mode 100644 base64url/base64url_test.go create mode 100644 scripts/mock-passes.sh diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e4686c8 --- /dev/null +++ b/Makefile @@ -0,0 +1,9 @@ + +go: + go build -o ./bin/cli ./cmd/cli/main.go + chmod +x ./bin/cli + +web: + GOOS=js GOARCH=wasm go build -o ./web/main.wasm ./cmd/webassembly/main.go + +all: go web diff --git a/base64url/base64url.go b/base64url/base64url.go new file mode 100644 index 0000000..f6f196c --- /dev/null +++ b/base64url/base64url.go @@ -0,0 +1,36 @@ +package base64url + +import ( + "encoding/base64" + "strings" +) + +// EncodeToString returns the base64url encoding of src. It uses the standard +// base64 encoding and replaces the characters that are not URL safe (+, /, =). +func EncodeToString(src []byte) string { + // encode to basic bas64 + rawBase64 := base64.StdEncoding.EncodeToString(src) + // replace the characters that are not URL safe (+, /, =) + rawBase64 = strings.ReplaceAll(rawBase64, "+", "-") + rawBase64 = strings.ReplaceAll(rawBase64, "/", "_") + return strings.ReplaceAll(rawBase64, "=", "") +} + +// DecodeString returns the bytes represented by the base64url encoded string s. +// It recovers the characters that were not URL safe (+, /, =) and uses the +// standard base64 encoding. +func DecodeString(s string) ([]byte, error) { + // recover the characters that are not URL safe (+, /, =) + rawBase64 := strings.ReplaceAll(s, "-", "+") + rawBase64 = strings.ReplaceAll(rawBase64, "_", "/") + // add the padding character (=) if needed + switch len(rawBase64) % 4 { + case 0: + case 2: + rawBase64 += "==" + case 3: + rawBase64 += "=" + } + // return the decoded string from basic base64 + return base64.StdEncoding.DecodeString(rawBase64) +} diff --git a/base64url/base64url_test.go b/base64url/base64url_test.go new file mode 100644 index 0000000..56ea1b1 --- /dev/null +++ b/base64url/base64url_test.go @@ -0,0 +1,58 @@ +package base64url + +import ( + "encoding/base64" + "testing" +) + +func TestEncodeDecode(t *testing.T) { + // known value that will be different with base64 and base64url, because + // the base64 encoding uses the characters +, / and =, which are not URL + // safe + input := "<>" + // get the base64url and base64 encoding and compare them, they should be + // different + b64uEncoded := EncodeToString([]byte(input)) + b64Encoded := base64.StdEncoding.EncodeToString([]byte(input)) + if b64uEncoded == b64Encoded { + t.Errorf("different encoding: %s, %s", b64uEncoded, b64Encoded) + } + // decode the base64url and compare it with the input + b64uDecoded, err := DecodeString(b64uEncoded) + if err != nil { + t.Error(err) + } + if string(b64uDecoded) != input { + t.Errorf("expected %s, got %s", input, b64uDecoded) + } + // known value that will be the same with base64 and base64url, because + // the base64 encoding does not unsafe characters for URLs and it does not + // require padding + input = "aaaaaa" + // get the base64url and base64 encoding and compare them, they should be + // the same + b64uEncoded = EncodeToString([]byte(input)) + b64Encoded = base64.StdEncoding.EncodeToString([]byte(input)) + if b64uEncoded != b64Encoded { + t.Errorf("expected %s, got %s", b64Encoded, b64uEncoded) + } + // decode the base64url and compare it with the input + b64uDecoded, err = DecodeString(b64uEncoded) + if err != nil { + t.Error(err) + } + if string(b64uDecoded) != input { + t.Errorf("expected %s, got %s", input, b64uDecoded) + } + // test last single case with single padding + input = "<>a" + // skip coparasion with base64 encoding and just decode the base64url and + // compare it with the input + b64uDecoded, err = DecodeString(EncodeToString([]byte(input))) + if err != nil { + t.Error(err) + } + if string(b64uDecoded) != input { + t.Errorf("expected %s, got %s", input, b64uDecoded) + } +} diff --git a/cli/cli.go b/cli/cli.go index cf66d15..263d4ed 100644 --- a/cli/cli.go +++ b/cli/cli.go @@ -1,10 +1,10 @@ package cli import ( - "encoding/base64" "fmt" "os" + "github.com/lucasmenendez/mykeys-cli/base64url" "github.com/lucasmenendez/mykeys-cli/cipher" "github.com/lucasmenendez/mykeys-cli/passwords" ) @@ -47,7 +47,7 @@ func (cli *CLI) Open() error { // Import imports the passwords from the base64 encoded string provided. func (cli *CLI) Import(dump string) error { // decode the base64 string - encrypted, err := base64.StdEncoding.DecodeString(dump) + encrypted, err := base64url.DecodeString(dump) if err != nil { return fmt.Errorf("error during passwords decoding: %w", err) } @@ -76,7 +76,7 @@ func (cli *CLI) Export() (string, error) { return "", fmt.Errorf("error during passwords encryption: %w", err) } // encode the encrypted data to base64 - return base64.StdEncoding.EncodeToString(encrypted), nil + return base64url.EncodeToString(encrypted), nil } // Save encrypts and saves the passwords map to the passwords file, overwriting diff --git a/scripts/mock-passes.sh b/scripts/mock-passes.sh new file mode 100644 index 0000000..f912b4d --- /dev/null +++ b/scripts/mock-passes.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +rm ./pass_123456.keys +touch ./pass_123456.keys + +for i in {1..100} +do + ./bin/cli -p 123456 -a set -alias test$i -user example$1@mail.com -pass 1234567890asbcedfghijklmnñopqrstuvwxyz -f ./pass_123456.keys +done \ No newline at end of file diff --git a/web/index.html b/web/index.html index cda0d6f..4d9af33 100644 --- a/web/index.html +++ b/web/index.html @@ -45,7 +45,7 @@
-
diff --git a/web/main.js b/web/main.js index c9c5dea..9a8d4ab 100644 --- a/web/main.js +++ b/web/main.js @@ -6,6 +6,13 @@ async function loadGoEnv() { } (async function(){ + const urlQuery = window.location.search; + const urlParams = new URLSearchParams(urlQuery); + const urlBase64 = urlParams.get("b64"); + if (urlBase64) { + document.getElementById("base64").value = urlBase64; + } + await loadGoEnv(); document.getElementById("main-form").addEventListener("submit", function(e) { e.preventDefault(); From 8a39946c76fefac4d6a5cad9f9aa28289e4a2595 Mon Sep 17 00:00:00 2001 From: Lucas Menendez Date: Wed, 11 Oct 2023 00:38:46 +0200 Subject: [PATCH 05/15] cli package renamed to api, rw password file moved from api layer to cli layer, makefile and main files small fixes --- Makefile | 1 + cli/cli.go => api/api.go | 82 +++++++++++++--------------------------- cmd/cli/main.go | 60 ++++++++++++++++------------- cmd/webassembly/main.go | 30 +++++++-------- 4 files changed, 77 insertions(+), 96 deletions(-) rename cli/cli.go => api/api.go (52%) diff --git a/Makefile b/Makefile index e4686c8..dd48cc7 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,4 @@ +.PHONY: go web all go: go build -o ./bin/cli ./cmd/cli/main.go diff --git a/cli/cli.go b/api/api.go similarity index 52% rename from cli/cli.go rename to api/api.go index 263d4ed..b4f4afe 100644 --- a/cli/cli.go +++ b/api/api.go @@ -1,77 +1,63 @@ -package cli +package api import ( "fmt" - "os" "github.com/lucasmenendez/mykeys-cli/base64url" "github.com/lucasmenendez/mykeys-cli/cipher" "github.com/lucasmenendez/mykeys-cli/passwords" ) -// CLI is the struct that represents the command line interface of MyKeys. Ir +// API is the struct that represents the command line interface of MyKeys. Ir // has the filepath of the passwords file, the passphrase to encrypt and // decrypt it and a password map. -type CLI struct { +type API struct { passphrase []byte - filepath string passwords passwords.Passwords } -// New returns a new CLI with the given filepath and passphrase. It also inits +// New returns an empty API with the given passphrase. It also inits // the passwords map. It converts the passphrase from string to a slice of // bytes. -func New(filepath, passphrase string) *CLI { - return &CLI{ - filepath: filepath, +func New(passphrase string) *API { + return &API{ passphrase: []byte(passphrase), passwords: make(map[string]*passwords.Password), } } -// Open opens the passwords file and decrypts it with the passphrase provided, -// filling the passwords map. -func (cli *CLI) Open() error { - // read the encrypted passwords file - encrypted, err := os.ReadFile(cli.filepath) - if err != nil { - return fmt.Errorf("error during passwords reading: %w", err) - } - // if the file is empty, return without error - if len(encrypted) == 0 { - return nil - } - return cli.Import(string(encrypted)) -} - -// Import imports the passwords from the base64 encoded string provided. -func (cli *CLI) Import(dump string) error { +// Import imports the passwords from the base64url encoded string and passphrase +// provided. It returns an error if the base64url decoding, the passwords +// decryption or the passwords import fails. +func (api *API) Import(dump string) error { // decode the base64 string encrypted, err := base64url.DecodeString(dump) if err != nil { return fmt.Errorf("error during passwords decoding: %w", err) } // decrypt the passwords file with the passphrase provided - rawPasswords, err := cipher.Decrypt(encrypted, cli.passphrase) + rawPasswords, err := cipher.Decrypt(encrypted, api.passphrase) if err != nil { return fmt.Errorf("error during passwords decryption: %w", err) } // import the passwords into the passwords map - if err := cli.passwords.Import(rawPasswords); err != nil { + if err := api.passwords.Import(rawPasswords); err != nil { return fmt.Errorf("error during passwords import: %w", err) } return nil } -// Export encrypts and exports the passwords map to a base64 encoded string. -func (cli *CLI) Export() (string, error) { +// Export encrypts with the CLI passphrase, and exports the passwords map to a +// base64url encoded string. It returns an error if the passwords encryption or +// the base64 encoding fails. +func (api *API) Export() (string, error) { // export the passwords map to a json representation - rawPasswords, err := cli.passwords.Export() + rawPasswords, err := api.passwords.Export() if err != nil { return "", fmt.Errorf("error during passwords export: %w", err) } // encrypt the json representation with the passphrase provided - encrypted, err := cipher.Encrypt(rawPasswords, cli.passphrase) + encrypted, err := cipher.Encrypt(rawPasswords, api.passphrase) if err != nil { return "", fmt.Errorf("error during passwords encryption: %w", err) } @@ -79,40 +65,26 @@ func (cli *CLI) Export() (string, error) { return base64url.EncodeToString(encrypted), nil } -// Save encrypts and saves the passwords map to the passwords file, overwriting -// it. -func (cli *CLI) Save() error { - strExport, err := cli.Export() - if err != nil { - return err - } - // save the encrypted data to the passwords file, overwriting it - if err := os.WriteFile(cli.filepath, []byte(strExport), 0644); err != nil { - return fmt.Errorf("error during passwords saving: %w", err) - } - return nil -} - // Set sets the password with the given alias, username and password. If it // already exists, it will be overwritten. -func (cli *CLI) Set(alias, username, password string) { - cli.passwords = cli.passwords.Set(alias, username, password) +func (api *API) Set(alias, username, password string) { + api.passwords = api.passwords.Set(alias, username, password) } // Del deletes the password with the given alias, if it exists. -func (cli *CLI) Del(alias string) { - cli.passwords = cli.passwords.Del(alias) +func (api *API) Del(alias string) { + api.passwords = api.passwords.Del(alias) } // List lists all the passwords in the passwords map. If json is true, it will // print the json representation of the passwords map. If json is false, it // will print the string representation of the passwords map. -func (cli *CLI) List(json bool) string { +func (api *API) List(json bool) string { if json { - return cli.passwords.String() + return api.passwords.String() } var result string - for alias, pass := range cli.passwords { + for alias, pass := range api.passwords { result += fmt.Sprintf("[%s] %s: %s\n", alias, pass.Username, pass.Password) } return result @@ -121,8 +93,8 @@ func (cli *CLI) List(json bool) string { // Get returns the password with the given alias. If json is true, it will // print the json representation of the password. If json is false, it will // print the string representation of the password. -func (cli *CLI) Get(alias string, json bool) string { - if pass := cli.passwords.Get(alias); pass != nil { +func (api *API) Get(alias string, json bool) string { + if pass := api.passwords.Get(alias); pass != nil { if json { return pass.String() } diff --git a/cmd/cli/main.go b/cmd/cli/main.go index 97f7373..c043056 100644 --- a/cmd/cli/main.go +++ b/cmd/cli/main.go @@ -3,8 +3,9 @@ package main import ( "flag" "fmt" + "os" - "github.com/lucasmenendez/mykeys-cli/cli" + "github.com/lucasmenendez/mykeys-cli/api" ) const ( @@ -22,17 +23,29 @@ Options:` var ( // config flags filepath = flag.String("f", "mykeys.out", "path to passwords file") - b64 = flag.String("b64", "", "passwords file content encoded in base64") passphrase = flag.String("p", "", "(required) passphrase to decrypt and encrypt the passwords file") action = flag.String("a", "", "(required) action to perform: set, del, get, list") - print = flag.Bool("print", false, "print the password instead of writing to the filepath") - json = flag.Bool("json", false, "print the output in json format") // input data flags alias = flag.String("alias", "", "alias of the password") username = flag.String("user", "", "username of the password") password = flag.String("pass", "", "password of the password") ) +func openfile(path string) (string, error) { + content, err := os.ReadFile(path) + if err != nil { + return "", fmt.Errorf("error during passwords reading: %w", err) + } + return string(content), nil +} + +func savefile(path, content string) error { + if err := os.WriteFile(path, []byte(content), 0600); err != nil { + return fmt.Errorf("error during passwords saving: %w", err) + } + return nil +} + func main() { flag.Usage = func() { fmt.Println(usageMsg) @@ -49,35 +62,30 @@ func main() { return } // Create CLI - mykeysCLI := cli.New(*filepath, *passphrase) - // Import from base64 or read it from the file - if b64 != nil && *b64 != "" { - if err := mykeysCLI.Import(*b64); err != nil { - fmt.Println(err) - return - } - } else { - if err := mykeysCLI.Open(); err != nil { + mykeysAPI := api.New(*passphrase) + passwords, err := openfile(*filepath) + if err != nil { + fmt.Println(err) + return + } + if passwords != "" { + if err := mykeysAPI.Import(passwords); err != nil { fmt.Println(err) return } } // create a commit function to save or print the result commit := func() { - // if print is false, save the result in the file and exit - if print == nil || !*print { - if err := mykeysCLI.Save(); err != nil { - fmt.Println(err) - } - return - } // if print is true, print the result - dump, err := mykeysCLI.Export() + dump, err := mykeysAPI.Export() if err != nil { fmt.Println(err) return } - fmt.Println(dump) + // if print is false, save the result in the file and exit + if err := savefile(*filepath, dump); err != nil { + fmt.Println(err) + } } // check the provided action switch *action { @@ -96,7 +104,7 @@ func main() { return } // perform the set action with the provided flags and commit the result - mykeysCLI.Set(*alias, *username, *password) + mykeysAPI.Set(*alias, *username, *password) commit() case "del": // check required flags for delete action (alias) @@ -106,7 +114,7 @@ func main() { } // perform the delete action with the provided flags and commit the // result - mykeysCLI.Del(*alias) + mykeysAPI.Del(*alias) commit() case "get": // check required flags for get action (alias) @@ -116,7 +124,7 @@ func main() { } // perform the get action with the provided flags, json flag defines // if the output should be printed in json format - if pass := mykeysCLI.Get(*alias, *json); pass != "" { + if pass := mykeysAPI.Get(*alias, false); pass != "" { fmt.Println(pass) return } @@ -124,7 +132,7 @@ func main() { case "list": // perform the list action with the provided flags, json flag defines // if the output should be printed in json format - if passes := mykeysCLI.List(*json); passes != "" && passes != "{}" { + if passes := mykeysAPI.List(false); passes != "" { fmt.Println(passes) return } diff --git a/cmd/webassembly/main.go b/cmd/webassembly/main.go index 719ba80..da8ba6d 100644 --- a/cmd/webassembly/main.go +++ b/cmd/webassembly/main.go @@ -7,7 +7,7 @@ import ( "fmt" "syscall/js" - "github.com/lucasmenendez/mykeys-cli/cli" + "github.com/lucasmenendez/mykeys-cli/api" ) const ( @@ -24,20 +24,20 @@ const ( delPasswordNArgs = 3 // b64, passphrase, alias ) -func initCLI(b64, passphrase js.Value) (*cli.CLI, error) { +func initCLI(b64, passphrase js.Value) (*api.API, error) { // Check required param (passphrase) if passphrase.String() == "" { return nil, fmt.Errorf("no passphrase provided") } // Create CLI with empty filepath and the provided passphrase - mykeysCLI := cli.New("", passphrase.String()) + mykeysAPI := api.New(passphrase.String()) // Import from base64 or read it from the file if b64.String() != "" { - if err := mykeysCLI.Import(b64.String()); err != nil { + if err := mykeysAPI.Import(b64.String()); err != nil { return nil, err } } - return mykeysCLI, nil + return mykeysAPI, nil } func main() { @@ -49,12 +49,12 @@ func main() { return fmt.Sprintf("error: %d arguments required", listPasswordsNArgs) } // Create CLI - mykeysCLI, err := initCLI(args[0], args[1]) + mykeysAPI, err := initCLI(args[0], args[1]) if err != nil { return fmt.Sprintf("error: %s", err.Error()) } // Return the list of passwords as a JSON string - return mykeysCLI.List(true) + return mykeysAPI.List(true) })) myKeysClass.Set(jsGetMethod, js.FuncOf(func(this js.Value, args []js.Value) any { @@ -63,12 +63,12 @@ func main() { return fmt.Sprintf("error: %d arguments required", getPasswordNArgs) } // Create CLI - mykeysCLI, err := initCLI(args[0], args[1]) + mykeysAPI, err := initCLI(args[0], args[1]) if err != nil { return fmt.Sprintf("error: %s", err.Error()) } // Return the password as a JSON string - return mykeysCLI.Get(args[2].String(), true) + return mykeysAPI.Get(args[2].String(), true) })) myKeysClass.Set(jsSetMethod, js.FuncOf(func(this js.Value, args []js.Value) any { @@ -78,14 +78,14 @@ func main() { return fmt.Sprintf("error: %d arguments required", setPasswordNArgs) } // Create CLI - mykeysCLI, err := initCLI(args[0], args[1]) + mykeysAPI, err := initCLI(args[0], args[1]) if err != nil { return fmt.Sprintf("error: %s", err.Error()) } // Set the password - mykeysCLI.Set(args[2].String(), args[3].String(), args[4].String()) + mykeysAPI.Set(args[2].String(), args[3].String(), args[4].String()) // Return the list of passwords as a JSON string - list, err := mykeysCLI.Export() + list, err := mykeysAPI.Export() if err != nil { return fmt.Sprintf("error: %s", err.Error()) } @@ -98,14 +98,14 @@ func main() { return fmt.Sprintf("error: %d arguments required", delPasswordNArgs) } // Create CLI - mykeysCLI, err := initCLI(args[0], args[1]) + mykeysAPI, err := initCLI(args[0], args[1]) if err != nil { return fmt.Sprintf("error: %s", err.Error()) } // Delete the password - mykeysCLI.Del(args[2].String()) + mykeysAPI.Del(args[2].String()) // Return the list of passwords as a JSON string - list, err := mykeysCLI.Export() + list, err := mykeysAPI.Export() if err != nil { return fmt.Sprintf("error: %s", err.Error()) } From 2f24acbfcf21c63668e12312a2f9922b2999137f Mon Sep 17 00:00:00 2001 From: Lucas Menendez Date: Wed, 11 Oct 2023 00:42:28 +0200 Subject: [PATCH 06/15] make README and makefile consistent --- Makefile | 4 ++-- README.md | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index dd48cc7..bf92b94 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ .PHONY: go web all go: - go build -o ./bin/cli ./cmd/cli/main.go - chmod +x ./bin/cli + go build -o ./bin/mykeys-cli ./cmd/cli/main.go + chmod +x ./bin/mykeys-cli web: GOOS=js GOARCH=wasm go build -o ./web/main.wasm ./cmd/webassembly/main.go diff --git a/README.md b/README.md index 675a339..38703a6 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,10 @@ ### Build ```sh -go build -o ./mykeys-cli ./cmd/cli && chmod +x ./mykeys-cli +go build -o ./bin/mykeys-cli ./cmd/cli && chmod +x ./bin/mykeys-cli + +# or: +# make go ``` ### Demo @@ -17,18 +20,12 @@ Options: (required) action to perform: set, del, get, list -alias string alias of the password - -b64 string - passwords file content encoded in base64 -f string path to passwords file (default "mykeys.out") - -json - print the output in json format -p string (required) passphrase to decrypt and encrypt the passwords file -pass string password of the password - -print - print the password instead of writing to the filepath -user string username of the password ``` @@ -39,6 +36,9 @@ Options: ```sh # build for webassembly and save the result in the ./web folder GOOS=js GOARCH=wasm go build -o ./web/main.wasm ./cmd/webassembly + +# or: +# make web ``` ### Demo From 02acf7dc3fa0c61f74f9fb5d92d488c04e9632ed Mon Sep 17 00:00:00 2001 From: Lucas Menendez Date: Mon, 16 Oct 2023 01:40:12 +0200 Subject: [PATCH 07/15] change passwords struct from map to slice, initial web app ui with import and initial passwords table/form --- api/api.go | 8 +-- cmd/cli/main.go | 2 +- passwords/passwords.go | 41 +++++++++--- scripts/mock-passes.sh | 2 +- web/index.html | 63 ++++-------------- web/main.js | 43 ------------ web/src/app.js | 75 +++++++++++++++++++++ web/src/components/Modal.js | 27 ++++++++ web/src/components/OpenPasswords.js | 99 ++++++++++++++++++++++++++++ web/src/components/PasswordsTable.js | 55 ++++++++++++++++ 10 files changed, 308 insertions(+), 107 deletions(-) mode change 100644 => 100755 scripts/mock-passes.sh delete mode 100644 web/main.js create mode 100644 web/src/app.js create mode 100644 web/src/components/Modal.js create mode 100644 web/src/components/OpenPasswords.js create mode 100644 web/src/components/PasswordsTable.js diff --git a/api/api.go b/api/api.go index b4f4afe..8d10046 100644 --- a/api/api.go +++ b/api/api.go @@ -22,7 +22,7 @@ type API struct { func New(passphrase string) *API { return &API{ passphrase: []byte(passphrase), - passwords: make(map[string]*passwords.Password), + passwords: []*passwords.Password{}, } } @@ -41,7 +41,7 @@ func (api *API) Import(dump string) error { return fmt.Errorf("error during passwords decryption: %w", err) } // import the passwords into the passwords map - if err := api.passwords.Import(rawPasswords); err != nil { + if api.passwords, err = api.passwords.Import(rawPasswords); err != nil { return fmt.Errorf("error during passwords import: %w", err) } return nil @@ -84,8 +84,8 @@ func (api *API) List(json bool) string { return api.passwords.String() } var result string - for alias, pass := range api.passwords { - result += fmt.Sprintf("[%s] %s: %s\n", alias, pass.Username, pass.Password) + for _, pass := range api.passwords { + result += fmt.Sprintf("[%s] %s: %s\n", pass.Alias, pass.Username, pass.Password) } return result } diff --git a/cmd/cli/main.go b/cmd/cli/main.go index c043056..d0ad210 100644 --- a/cmd/cli/main.go +++ b/cmd/cli/main.go @@ -22,7 +22,7 @@ Options:` var ( // config flags - filepath = flag.String("f", "mykeys.out", "path to passwords file") + filepath = flag.String("f", "secret.keys", "path to passwords file") passphrase = flag.String("p", "", "(required) passphrase to decrypt and encrypt the passwords file") action = flag.String("a", "", "(required) action to perform: set, del, get, list") // input data flags diff --git a/passwords/passwords.go b/passwords/passwords.go index 2a67766..2cd593f 100644 --- a/passwords/passwords.go +++ b/passwords/passwords.go @@ -5,6 +5,7 @@ import "encoding/json" // Password is the struct that represents a password, it has an username and a // password. type Password struct { + Alias string `json:"alias"` Username string `json:"username"` Password string `json:"password"` } @@ -26,7 +27,7 @@ func (p *Password) Export() ([]byte, error) { // Passwords is the struct that represents a collection of passwords, it is a // map of alias to password. -type Passwords map[string]*Password +type Passwords []*Password // String returns the string representation of the passwords. It uses the // Export() method to get the json representation of the passwords and then @@ -44,24 +45,48 @@ func (p Passwords) Export() ([]byte, error) { } // Import imports the passwords from the json representation. -func (p Passwords) Import(data []byte) error { - return json.Unmarshal(data, &p) +func (p Passwords) Import(data []byte) (Passwords, error) { + items := []Password{} + if err := json.Unmarshal(data, &items); err != nil { + return nil, err + } + for _, item := range items { + p = append(p, &item) + } + return p, nil + } // Get returns the password with the given alias. -func (p Passwords) Get(alias string) *Password { - return p[alias] +func (p *Passwords) Get(alias string) *Password { + for _, password := range *p { + if password.Alias == alias { + return password + } + } + return nil } // Set sets the password with the given alias, username and password. If it // already exists, it will be overwritten. func (p Passwords) Set(alias, username, password string) Passwords { - p[alias] = &Password{Username: username, Password: password} - return p + for i, pass := range p { + if pass.Alias == alias { + p[i].Username = username + p[i].Password = password + return p + } + } + return append(p, &Password{Alias: alias, Username: username, Password: password}) } // Del deletes the password with the given alias, if it exists. func (p Passwords) Del(alias string) Passwords { - delete(p, alias) + for i, pass := range p { + if pass.Alias == alias { + p[i] = p[len(p)-1] + return p[:len(p)-1] + } + } return p } diff --git a/scripts/mock-passes.sh b/scripts/mock-passes.sh old mode 100644 new mode 100755 index f912b4d..8eeb9b8 --- a/scripts/mock-passes.sh +++ b/scripts/mock-passes.sh @@ -5,5 +5,5 @@ touch ./pass_123456.keys for i in {1..100} do - ./bin/cli -p 123456 -a set -alias test$i -user example$1@mail.com -pass 1234567890asbcedfghijklmnñopqrstuvwxyz -f ./pass_123456.keys + ./bin/mykeys-cli -p 123456 -a set -alias test$i -user example$i@mail.com -pass 1234567890asbcedfghijklmnñopqrstuvwxyz -f ./pass_123456.keys done \ No newline at end of file diff --git a/web/index.html b/web/index.html index 4d9af33..1f42b0d 100644 --- a/web/index.html +++ b/web/index.html @@ -1,58 +1,21 @@ - + + + - MyKeysCLI Example - + + + 🔐 MyKeys.live + + + -
-
-
- -
- - -
-
- - - -
-
- - -
-
-
-
+
- - + + + \ No newline at end of file diff --git a/web/main.js b/web/main.js deleted file mode 100644 index 9a8d4ab..0000000 --- a/web/main.js +++ /dev/null @@ -1,43 +0,0 @@ -async function loadGoEnv() { - // Instantiate our wasm module - const go = new Go(); - const result = await WebAssembly.instantiateStreaming(fetch("main.wasm"), go.importObject); - go.run(result.instance); -} - -(async function(){ - const urlQuery = window.location.search; - const urlParams = new URLSearchParams(urlQuery); - const urlBase64 = urlParams.get("b64"); - if (urlBase64) { - document.getElementById("base64").value = urlBase64; - } - - await loadGoEnv(); - document.getElementById("main-form").addEventListener("submit", function(e) { - e.preventDefault(); - let b64file = document.getElementById("base64").value, - passphrase = document.getElementById("passphrase").value; - action = document.getElementById("action").value, - alias = document.getElementById("alias").value, - username = document.getElementById("username").value, - password = document.getElementById("password").value; - - let result = "Unknown action"; - switch (action) { - case "list": - result = MyKeysCLI.list(b64file, passphrase); - break; - case "get": - result = MyKeysCLI.get(b64file, passphrase, alias); - break; - case "set": - result = MyKeysCLI.set(b64file, passphrase, alias, username, password); - break; - case "del": - result = MyKeysCLI.del(b64file, passphrase, alias); - break; - } - document.getElementById("output").innerText = result; - }); -})() \ No newline at end of file diff --git a/web/src/app.js b/web/src/app.js new file mode 100644 index 0000000..c9e2d48 --- /dev/null +++ b/web/src/app.js @@ -0,0 +1,75 @@ +import Modal from './components/Modal.js'; +import OpenPasswords from './components/OpenPasswords.js'; +import PasswordsTable from './components/PasswordsTable.js'; + +import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js' +// import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.prod.js' + +const app = createApp({ + data() { + return { + showFileModal: true, + content: "", + passphrase: "", + passwords: [ + { + alias: "", + username: "", + password: "" + } + ], + } + }, + async created() { + this.checkURLParams(); + await this.setupWebAssembly(); + }, + template: ` + + + +
+
+
+ + If you make any changes to the passwords, make sure to export them before closing the page. +
+ +
+
+ {{ this.passwords }} + `, + methods: { + async setupWebAssembly() { + const go = new Go(); + const result = await WebAssembly.instantiateStreaming(fetch("main.wasm"), go.importObject); + go.run(result.instance); + }, + checkURLParams() { + const urlQuery = window.location.search; + const urlParams = new URLSearchParams(urlQuery); + this.content = urlParams.get("b64"); + }, + newFile() { + this.content = ""; + this.passphrase = ""; + this.showFileModal = false; + }, + loadFile(content, passphrase) { + this.content = content; + this.passphrase = passphrase; + let data = MyKeysCLI.list(this.content, this.passphrase); + this.passwords = JSON.parse(data); + + this.showFileModal = false; + } + }, + components: { + OpenPasswords, Modal, PasswordsTable + } +}); + +app.mount('#app'); \ No newline at end of file diff --git a/web/src/components/Modal.js b/web/src/components/Modal.js new file mode 100644 index 0000000..32a0c66 --- /dev/null +++ b/web/src/components/Modal.js @@ -0,0 +1,27 @@ +export default { + emits: ['update:open'], + props: { + closable: { + type: Boolean, + default: true, + }, + open: { + type: Boolean, + default: true, + }, + }, + template: ` +
+ +
+ `, + methods: { + close() { + this.open = false; + $emit('update:open', false); + } + } +} \ No newline at end of file diff --git a/web/src/components/OpenPasswords.js b/web/src/components/OpenPasswords.js new file mode 100644 index 0000000..a206cee --- /dev/null +++ b/web/src/components/OpenPasswords.js @@ -0,0 +1,99 @@ +export default { + emits: ['submit', 'new'], + props: ['initial'], + data() { + return { + content: this.initial, + passphrase: "", + external: !!this.initial, + } + }, + mounted() { + if (this.content) { + this.$refs.passphraseInput.focus(); + } + }, + template: ` +
+

Wellcome to MyKeys.live!

+

{{ + content ? + 'Type your passphrase to decrypt your passwords' : + 'What do you want to do?' + }}

+ +
+ + +
+ +
+ and +
+ +
+ + +
+
+ `, + methods: { + resetInputFile(event) { + event.target.value = null; + }, + readInputFile(event) { + if (event.target.files.length == 0) { + return; + } + const file = event.target.files[0]; + const reader = new FileReader(); + reader.onload = (event) => { + this.content = event.target.result; + }; + reader.readAsText(file); + }, + submitForm(event) { + event.preventDefault(); + this.$emit('submit', this.content, this.passphrase); + } + }, + watch: { + content() { + this.$refs.passphraseInput.focus(); + } + } +} \ No newline at end of file diff --git a/web/src/components/PasswordsTable.js b/web/src/components/PasswordsTable.js new file mode 100644 index 0000000..1e76b5f --- /dev/null +++ b/web/src/components/PasswordsTable.js @@ -0,0 +1,55 @@ +export default { + emits: ['update:passwords'], + props: ['passwords'], + template: ` +
+
+
+ Alias +
+
+ Username +
+
+ Password +
+
+
+
+ +
+
+ +
+
+
+ + + + +
+
+
+
+ `, + methods: { + togglePasswordVisibility(ref) { + if (this.$refs[ref].length) { + if (this.$refs[ref][0].type == "password") { + this.$refs[ref][0].type = "text" + } else { + this.$refs[ref][0].type = "password" + } + } + } + }, + style() { + return ` + .sticky { + position: sticky; + top: 0; + background-color: white; + } + `; + } +} \ No newline at end of file From 4b114649bb3f985cc55764f9f6379d34282dc974 Mon Sep 17 00:00:00 2001 From: Lucas Menendez Date: Wed, 18 Oct 2023 00:37:05 +0200 Subject: [PATCH 08/15] new ui for export passwords and better password list, better error messages for webassembly and some bugs fixed, every password now has a unique id calculating the hash of the password alias and username, it helps to safe overwrite passwords --- Makefile | 2 + api/api.go | 30 +++--- cipher/cipher.go | 13 ++- cmd/cli/main.go | 8 +- cmd/webassembly/main.go | 39 +++++--- passwords/passwords.go | 84 +++++++++++----- scripts/mock-passes.sh | 24 ++++- web/index.html | 10 +- web/src/app.js | 47 +++++---- web/src/components/ListPasswords.js | 144 +++++++++++++++++++++++++++ web/src/components/Modal.js | 3 +- web/src/components/OpenPasswords.js | 23 ++++- web/src/components/PasswordsTable.js | 55 ---------- web/src/components/SavePasswords.js | 85 ++++++++++++++++ 14 files changed, 419 insertions(+), 148 deletions(-) create mode 100644 web/src/components/ListPasswords.js delete mode 100644 web/src/components/PasswordsTable.js create mode 100644 web/src/components/SavePasswords.js diff --git a/Makefile b/Makefile index bf92b94..cdc5dc7 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,12 @@ .PHONY: go web all go: + +rm -rf ./bin/mykeys-cli go build -o ./bin/mykeys-cli ./cmd/cli/main.go chmod +x ./bin/mykeys-cli web: + +rm -rf ./web/main.wasm GOOS=js GOARCH=wasm go build -o ./web/main.wasm ./cmd/webassembly/main.go all: go web diff --git a/api/api.go b/api/api.go index 8d10046..7ef4bba 100644 --- a/api/api.go +++ b/api/api.go @@ -13,7 +13,7 @@ import ( // decrypt it and a password map. type API struct { passphrase []byte - passwords passwords.Passwords + passwords *passwords.Passwords } // New returns an empty API with the given passphrase. It also inits @@ -22,7 +22,7 @@ type API struct { func New(passphrase string) *API { return &API{ passphrase: []byte(passphrase), - passwords: []*passwords.Password{}, + passwords: new(passwords.Passwords), } } @@ -33,16 +33,16 @@ func (api *API) Import(dump string) error { // decode the base64 string encrypted, err := base64url.DecodeString(dump) if err != nil { - return fmt.Errorf("error during passwords decoding: %w", err) + return fmt.Errorf("%w, decode password dump error", err) } // decrypt the passwords file with the passphrase provided rawPasswords, err := cipher.Decrypt(encrypted, api.passphrase) if err != nil { - return fmt.Errorf("error during passwords decryption: %w", err) + return fmt.Errorf("%w, decrypt passwords error", err) } // import the passwords into the passwords map - if api.passwords, err = api.passwords.Import(rawPasswords); err != nil { - return fmt.Errorf("error during passwords import: %w", err) + if err := api.passwords.Import(rawPasswords); err != nil { + return fmt.Errorf("%w, import decrypted passwords error", err) } return nil } @@ -54,12 +54,12 @@ func (api *API) Export() (string, error) { // export the passwords map to a json representation rawPasswords, err := api.passwords.Export() if err != nil { - return "", fmt.Errorf("error during passwords export: %w", err) + return "", fmt.Errorf("%w, export passwords error", err) } // encrypt the json representation with the passphrase provided encrypted, err := cipher.Encrypt(rawPasswords, api.passphrase) if err != nil { - return "", fmt.Errorf("error during passwords encryption: %w", err) + return "", fmt.Errorf("%w, encrypt passwords error", err) } // encode the encrypted data to base64 return base64url.EncodeToString(encrypted), nil @@ -68,12 +68,12 @@ func (api *API) Export() (string, error) { // Set sets the password with the given alias, username and password. If it // already exists, it will be overwritten. func (api *API) Set(alias, username, password string) { - api.passwords = api.passwords.Set(alias, username, password) + api.passwords.Set(alias, username, password) } // Del deletes the password with the given alias, if it exists. func (api *API) Del(alias string) { - api.passwords = api.passwords.Del(alias) + api.passwords.Del(alias) } // List lists all the passwords in the passwords map. If json is true, it will @@ -84,8 +84,8 @@ func (api *API) List(json bool) string { return api.passwords.String() } var result string - for _, pass := range api.passwords { - result += fmt.Sprintf("[%s] %s: %s\n", pass.Alias, pass.Username, pass.Password) + for _, pass := range api.passwords.List() { + result += fmt.Sprintf("[%s] %s -> %s:%s\n", pass.ID, pass.Alias, pass.Username, pass.Password) } return result } @@ -93,12 +93,12 @@ func (api *API) List(json bool) string { // Get returns the password with the given alias. If json is true, it will // print the json representation of the password. If json is false, it will // print the string representation of the password. -func (api *API) Get(alias string, json bool) string { - if pass := api.passwords.Get(alias); pass != nil { +func (api *API) Get(id string, json bool) string { + if pass := api.passwords.Get(id); pass != nil { if json { return pass.String() } - return fmt.Sprintf("[%s] %s: %s\n", alias, pass.Username, pass.Password) + return fmt.Sprintf("[%s] %s -> %s:%s\n", id, pass.Alias, pass.Username, pass.Password) } return "" } diff --git a/cipher/cipher.go b/cipher/cipher.go index 6edd2ac..0d7945e 100644 --- a/cipher/cipher.go +++ b/cipher/cipher.go @@ -5,7 +5,6 @@ import ( "crypto/cipher" "crypto/md5" "crypto/rand" - "fmt" "io" ) @@ -23,17 +22,17 @@ func Encrypt(data, passphrase []byte) ([]byte, error) { // user block, err := aes.NewCipher(hashFunc(passphrase)) if err != nil { - return nil, fmt.Errorf("cipher error during encryption: %w", err) + return nil, err } // create the gcm cipher with the block created above gcm, err := cipher.NewGCM(block) if err != nil { - return nil, fmt.Errorf("cipher error during encryption: %w", err) + return nil, err } // create a slice of bytes with the size of the nonce and fill it with nonce := make([]byte, gcm.NonceSize()) if _, err = io.ReadFull(rand.Reader, nonce); err != nil { - return nil, fmt.Errorf("cipher error during encryption: %w", err) + return nil, err } // return the encrypted data with the nonce bytes prepended return gcm.Seal(nonce, nonce, data, nil), nil @@ -45,12 +44,12 @@ func Decrypt(data, passphrase []byte) ([]byte, error) { // user block, err := aes.NewCipher(hashFunc(passphrase)) if err != nil { - return nil, fmt.Errorf("cipher error during decryption: %w", err) + return nil, err } // create the gcm cipher with the block created above gcm, err := cipher.NewGCM(block) if err != nil { - return nil, fmt.Errorf("cipher error during decryption: %w", err) + return nil, err } // get the nonce size nonceSize := gcm.NonceSize() @@ -60,7 +59,7 @@ func Decrypt(data, passphrase []byte) ([]byte, error) { // decrypt the ciphertext with the nonce using the gcm cipher result, err := gcm.Open(nil, nonce, ciphertext, nil) if err != nil { - return nil, fmt.Errorf("cipher error during decryption: %w", err) + return nil, err } return result, nil } diff --git a/cmd/cli/main.go b/cmd/cli/main.go index d0ad210..24514d9 100644 --- a/cmd/cli/main.go +++ b/cmd/cli/main.go @@ -40,7 +40,13 @@ func openfile(path string) (string, error) { } func savefile(path, content string) error { - if err := os.WriteFile(path, []byte(content), 0600); err != nil { + f, err := os.Create(path) + if err != nil { + return fmt.Errorf("error during passwords saving: %w", err) + } + defer f.Close() + + if _, err := f.WriteString(content); err != nil { return fmt.Errorf("error during passwords saving: %w", err) } return nil diff --git a/cmd/webassembly/main.go b/cmd/webassembly/main.go index da8ba6d..9c9b521 100644 --- a/cmd/webassembly/main.go +++ b/cmd/webassembly/main.go @@ -40,56 +40,69 @@ func initCLI(b64, passphrase js.Value) (*api.API, error) { return mykeysAPI, nil } +func wasmResult(data any, err error) any { + if err == nil { + return map[string]any{ + "error": nil, + "data": data, + } + } + return map[string]any{ + "error": err.Error(), + "data": data, + } +} + func main() { myKeysClass := js.ValueOf(map[string]interface{}{}) myKeysClass.Set(jsListMethod, js.FuncOf(func(this js.Value, args []js.Value) any { // Check the number of required params (b64 and passphrase) if len(args) != listPasswordsNArgs { - return fmt.Sprintf("error: %d arguments required", listPasswordsNArgs) + return wasmResult(nil, fmt.Errorf("error: %d arguments required", listPasswordsNArgs)) } // Create CLI mykeysAPI, err := initCLI(args[0], args[1]) if err != nil { - return fmt.Sprintf("error: %s", err.Error()) + return wasmResult(nil, err) } // Return the list of passwords as a JSON string - return mykeysAPI.List(true) + return wasmResult(mykeysAPI.List(true), nil) })) myKeysClass.Set(jsGetMethod, js.FuncOf(func(this js.Value, args []js.Value) any { // Check the number of required params (b64, passphrase and alias) if len(args) != getPasswordNArgs { - return fmt.Sprintf("error: %d arguments required", getPasswordNArgs) + return wasmResult(nil, fmt.Errorf("error: %d arguments required", getPasswordNArgs)) } // Create CLI mykeysAPI, err := initCLI(args[0], args[1]) if err != nil { - return fmt.Sprintf("error: %s", err.Error()) + return wasmResult(nil, err) } // Return the password as a JSON string - return mykeysAPI.Get(args[2].String(), true) + return wasmResult(mykeysAPI.Get(args[2].String(), true), nil) })) myKeysClass.Set(jsSetMethod, js.FuncOf(func(this js.Value, args []js.Value) any { // Check the number of required params (b64, passphrase, alias, // username and password) if len(args) != setPasswordNArgs { - return fmt.Sprintf("error: %d arguments required", setPasswordNArgs) + return wasmResult(nil, fmt.Errorf("error: %d arguments required", getPasswordNArgs)) } // Create CLI mykeysAPI, err := initCLI(args[0], args[1]) if err != nil { - return fmt.Sprintf("error: %s", err.Error()) + return wasmResult(nil, err) } // Set the password mykeysAPI.Set(args[2].String(), args[3].String(), args[4].String()) // Return the list of passwords as a JSON string list, err := mykeysAPI.Export() if err != nil { - return fmt.Sprintf("error: %s", err.Error()) + return wasmResult(nil, err) } - return list + return wasmResult(list, nil) })) myKeysClass.Set(jsDelMethod, js.FuncOf(func(this js.Value, args []js.Value) any { @@ -100,16 +113,16 @@ func main() { // Create CLI mykeysAPI, err := initCLI(args[0], args[1]) if err != nil { - return fmt.Sprintf("error: %s", err.Error()) + return wasmResult(nil, err) } // Delete the password mykeysAPI.Del(args[2].String()) // Return the list of passwords as a JSON string list, err := mykeysAPI.Export() if err != nil { - return fmt.Sprintf("error: %s", err.Error()) + return wasmResult(nil, err) } - return list + return wasmResult(list, nil) })) // Set the MyKeys class in the global scope of the JS environment js.Global().Set(jsClassName, myKeysClass) diff --git a/passwords/passwords.go b/passwords/passwords.go index 2cd593f..ee1b9c4 100644 --- a/passwords/passwords.go +++ b/passwords/passwords.go @@ -1,15 +1,32 @@ package passwords -import "encoding/json" +import ( + "encoding/json" + "fmt" + "hash/fnv" + "log" + "strings" +) // Password is the struct that represents a password, it has an username and a // password. type Password struct { + ID string `json:"id"` Alias string `json:"alias"` Username string `json:"username"` Password string `json:"password"` } +// calculateID calculates the ID of the password using the alias and the +// username. It uses the FNV-1a hash algorithm to calculate the ID and returns +// the hexadecimal representation of the hash. +func calculateID(seeds ...string) string { + hashFn := fnv.New128() + seed := strings.Join(seeds, "-") + hashFn.Write([]byte(seed)) + return fmt.Sprintf("%x", hashFn.Sum(nil)) +} + // String returns the string representation of the password. It uses the // Export() method to get the json representation of the password and then // converts it to string. @@ -20,6 +37,11 @@ func (p *Password) String() string { return "" } +// List returns a list with a copy of the current Password's. +func (p *Passwords) List() []*Password { + return append([]*Password{}, p.passwords...) +} + // Export returns the json representation of the password. func (p *Password) Export() ([]byte, error) { return json.Marshal(p) @@ -27,39 +49,47 @@ func (p *Password) Export() ([]byte, error) { // Passwords is the struct that represents a collection of passwords, it is a // map of alias to password. -type Passwords []*Password +type Passwords struct { + passwords []*Password +} // String returns the string representation of the passwords. It uses the // Export() method to get the json representation of the passwords and then // converts it to string. -func (p Passwords) String() string { +func (p *Passwords) String() string { if dump, err := p.Export(); err == nil { + log.Println(string(dump)) return string(dump) } return "" } // Export returns the json representation of the passwords. -func (p Passwords) Export() ([]byte, error) { - return json.Marshal(p) +func (p *Passwords) Export() ([]byte, error) { + return json.Marshal(p.passwords) } // Import imports the passwords from the json representation. -func (p Passwords) Import(data []byte) (Passwords, error) { +func (p *Passwords) Import(data []byte) error { items := []Password{} if err := json.Unmarshal(data, &items); err != nil { - return nil, err + return err } for _, item := range items { - p = append(p, &item) + p.passwords = append(p.passwords, &Password{ + ID: item.ID, + Alias: item.Alias, + Username: item.Username, + Password: item.Password, + }) } - return p, nil + return nil } // Get returns the password with the given alias. func (p *Passwords) Get(alias string) *Password { - for _, password := range *p { + for _, password := range p.passwords { if password.Alias == alias { return password } @@ -69,24 +99,32 @@ func (p *Passwords) Get(alias string) *Password { // Set sets the password with the given alias, username and password. If it // already exists, it will be overwritten. -func (p Passwords) Set(alias, username, password string) Passwords { - for i, pass := range p { - if pass.Alias == alias { - p[i].Username = username - p[i].Password = password - return p +func (p *Passwords) Set(alias, username, password string) { + precomputedID := calculateID(alias, username) + for i, pass := range p.passwords { + if pass.ID == precomputedID { + p.passwords[i].Alias = alias + p.passwords[i].Username = username + p.passwords[i].Password = password + return } } - return append(p, &Password{Alias: alias, Username: username, Password: password}) + p.passwords = append(p.passwords, &Password{ + ID: precomputedID, + Alias: alias, + Username: username, + Password: password, + }) } // Del deletes the password with the given alias, if it exists. -func (p Passwords) Del(alias string) Passwords { - for i, pass := range p { - if pass.Alias == alias { - p[i] = p[len(p)-1] - return p[:len(p)-1] +func (p *Passwords) Del(id string) { + for i, pass := range p.passwords { + if pass.ID == id { + copy(p.passwords[i:], p.passwords[i+1:]) + p.passwords = p.passwords[:len(p.passwords)-1] + + return } } - return p } diff --git a/scripts/mock-passes.sh b/scripts/mock-passes.sh index 8eeb9b8..fa8c441 100755 --- a/scripts/mock-passes.sh +++ b/scripts/mock-passes.sh @@ -1,9 +1,23 @@ #!/bin/bash -rm ./pass_123456.keys -touch ./pass_123456.keys +# Check if the user provided the number of iterations as the first argument +if [ $# -lt 1 ]; then + echo "Usage: $0 " + exit 1 +fi -for i in {1..100} -do - ./bin/mykeys-cli -p 123456 -a set -alias test$i -user example$i@mail.com -pass 1234567890asbcedfghijklmnñopqrstuvwxyz -f ./pass_123456.keys +# Store the number of iterations from the first argument +filename="./pass_123456.keys" +num_iterations="$1" + +touch "$filename" + +# Loop 'num_iterations' times, replacing {index} with the current index +for ((i = 1; i <= num_iterations; i++)); do + alias="test${i}" + user="example${i}@mail.com" + pass="1234567890asbcedfghijklmnñopqrstuvwxyz" + + # Execute the desired command with the updated values + ./bin/mykeys-cli -p 123456 -a set -alias "$alias" -user "$user" -pass "$pass" -f "$filename" done \ No newline at end of file diff --git a/web/index.html b/web/index.html index 1f42b0d..9409bee 100644 --- a/web/index.html +++ b/web/index.html @@ -3,10 +3,12 @@ - - - - 🔐 MyKeys.live + + + + MyKeys.live + diff --git a/web/src/app.js b/web/src/app.js index c9e2d48..22d438f 100644 --- a/web/src/app.js +++ b/web/src/app.js @@ -1,6 +1,7 @@ import Modal from './components/Modal.js'; import OpenPasswords from './components/OpenPasswords.js'; -import PasswordsTable from './components/PasswordsTable.js'; +import SavePasswords from './components/SavePasswords.js'; +import ListPasswords from './components/ListPasswords.js'; import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js' // import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.prod.js' @@ -8,7 +9,8 @@ import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js' const app = createApp({ data() { return { - showFileModal: true, + showOpenFileModal: true, + showSaveFileModal: false, content: "", passphrase: "", passwords: [ @@ -25,22 +27,27 @@ const app = createApp({ await this.setupWebAssembly(); }, template: ` - + -
-
-
- - If you make any changes to the passwords, make sure to export them before closing the page. -
- + + + +
+
+ + If you make any changes to the passwords, make sure to Encrypt & Save them before closing the page. +
+
+
- {{ this.passwords }} `, methods: { async setupWebAssembly() { @@ -51,24 +58,26 @@ const app = createApp({ checkURLParams() { const urlQuery = window.location.search; const urlParams = new URLSearchParams(urlQuery); - this.content = urlParams.get("b64"); + this.content = urlParams.get("data"); }, newFile() { this.content = ""; this.passphrase = ""; - this.showFileModal = false; + this.showOpenFileModal = false; }, - loadFile(content, passphrase) { + loadFile(content, passphrase, passwords) { this.content = content; this.passphrase = passphrase; - let data = MyKeysCLI.list(this.content, this.passphrase); - this.passwords = JSON.parse(data); - - this.showFileModal = false; + this.passwords = passwords; + this.showOpenFileModal = false; + }, + onSave(newContent) { + this.content = newContent; + window.history.pushState({}, null, `?data=${this.content}`); } }, components: { - OpenPasswords, Modal, PasswordsTable + Modal, OpenPasswords, SavePasswords, ListPasswords } }); diff --git a/web/src/components/ListPasswords.js b/web/src/components/ListPasswords.js new file mode 100644 index 0000000..2022c1d --- /dev/null +++ b/web/src/components/ListPasswords.js @@ -0,0 +1,144 @@ +export default { + emits: ['update:passwords', 'done'], + props: ['passwords'], + data() { + return { + filterText: "", + isMobile: window.innerWidth < 800, + cardView: window.innerWidth < 800, + styles: { + stickyHeader: { + position: "sticky", + top: "0", + background: "white", + zIndex: "1" + } + } + } + }, + computed: { + filteredPasswords() { + return this.passwords.filter(pass => pass.alias.toLowerCase().includes(this.filterText.toLowerCase())); + } + }, + template: ` +
+
+
+ +
+ + +
+
+ +
+
+ Alias + Username + Password + Actions +
+
+
+ +
+
+ +
+
+ +
+
+ + + +
+
+
+ +
+
+
+
+ + + +
+ + + +
+
+
+
+
+
+ + `, + methods: { + togglePasswordVisibility(ref) { + if (this.$refs[ref].length) { + if (this.$refs[ref][0].type == "password") { + this.$refs[ref][0].type = "text" + } else { + this.$refs[ref][0].type = "password" + } + } + }, + newPassword() { + this.passwords.push({ + alias: "", + username: "", + password: "" + }); + this.$emit('update:passwords', this.passwords); + }, + async copyPassword(pass) { + let result = await navigator.permissions.query({ name: "clipboard-write" }) + if (result.state != "prompt" && result.state == "granted") { + await navigator.clipboard.writeText(pass.password); + } + }, + deletePassword(index, pass) { + if (confirm(`Are you sure you want to delete the password for ${pass.alias}?`)) { + this.passwords.splice(index, 1); + this.$emit('update:passwords', this.passwords); + } + } + }, +} \ No newline at end of file diff --git a/web/src/components/Modal.js b/web/src/components/Modal.js index 32a0c66..de915d0 100644 --- a/web/src/components/Modal.js +++ b/web/src/components/Modal.js @@ -20,8 +20,7 @@ export default { `, methods: { close() { - this.open = false; - $emit('update:open', false); + this.$emit('update:open', false); } } } \ No newline at end of file diff --git a/web/src/components/OpenPasswords.js b/web/src/components/OpenPasswords.js index a206cee..e3fdf07 100644 --- a/web/src/components/OpenPasswords.js +++ b/web/src/components/OpenPasswords.js @@ -3,8 +3,10 @@ export default { props: ['initial'], data() { return { + errorMessage: "", content: this.initial, passphrase: "", + passwords: [], external: !!this.initial, } }, @@ -48,6 +50,7 @@ export default { class="textarea" rows="6" v-model="content" + style="resize: none;" placeholder="Or paste here your base64 encrypted passwords...">
and @@ -62,13 +65,13 @@ export default { ref="passphraseInput" placeholder="Enter your passwords passphrase...">
+
{{ errorMessage }}
`, methods: { @@ -88,7 +91,19 @@ export default { }, submitForm(event) { event.preventDefault(); - this.$emit('submit', this.content, this.passphrase); + let result = MyKeysCLI.list(this.content, this.passphrase); + if (result.error) { + this.errorMessage = result.error; + return; + } + let passwords = []; + try { + passwords = JSON.parse(result.data); + } catch (error) { + this.errorMessage = error; + return; + } + this.$emit('submit', this.content, this.passphrase, passwords); } }, watch: { diff --git a/web/src/components/PasswordsTable.js b/web/src/components/PasswordsTable.js deleted file mode 100644 index 1e76b5f..0000000 --- a/web/src/components/PasswordsTable.js +++ /dev/null @@ -1,55 +0,0 @@ -export default { - emits: ['update:passwords'], - props: ['passwords'], - template: ` -
-
-
- Alias -
-
- Username -
-
- Password -
-
-
-
- -
-
- -
-
-
- - - - -
-
-
-
- `, - methods: { - togglePasswordVisibility(ref) { - if (this.$refs[ref].length) { - if (this.$refs[ref][0].type == "password") { - this.$refs[ref][0].type = "text" - } else { - this.$refs[ref][0].type = "password" - } - } - } - }, - style() { - return ` - .sticky { - position: sticky; - top: 0; - background-color: white; - } - `; - } -} \ No newline at end of file diff --git a/web/src/components/SavePasswords.js b/web/src/components/SavePasswords.js new file mode 100644 index 0000000..6a4e11d --- /dev/null +++ b/web/src/components/SavePasswords.js @@ -0,0 +1,85 @@ +export default { + props: { + passwords: { + type: Array, + required: true, + }, + passphrase: { + type: String, + required: true, + }, + }, + emits: ['update:passphrase', 'submit'], + data() { + return { + content: "", + errorMessage: "", + showPassphrase: false, + } + }, + template: ` +
+

Encrypt and safe your passwords

+

Type your passphrase to encrypt your passwords. By default it uses your previous password.

+ +
+ + + + + +
+
{{ errorMessage }}
+
+
+ +
+ Save this URL as a bookmark + or + +
+
+
+ `, + methods: { + submitForm(event) { + event.preventDefault(); + this.content = ""; + for (let i = 0; i < this.passwords.length; i++) { + let pass = this.passwords[i]; + let result = MyKeysCLI.set(this.content, this.passphrase, pass.alias, pass.username, pass.password); + if (result.error) { + this.errorMessage = result.error; + return; + } + this.content = result.data; + } + this.$emit('submit', this.content); + }, + downloadFile() { + const element = document.createElement("a"); + element.style.display = "none"; + const file = new Blob([this.content], {type: 'text/plain'}); + element.href = URL.createObjectURL(file); + element.download = "secret.mykeys"; + document.body.appendChild(element); + element.click(); + document.body.removeChild(element); + } + }, +} \ No newline at end of file From b8229ccaf1b24fbab955f0b219139d80a53cc6bc Mon Sep 17 00:00:00 2001 From: Lucas Menendez Date: Thu, 19 Oct 2023 00:07:27 +0200 Subject: [PATCH 09/15] new action to deploy the web app --- .github/workflows/gh-pages.yml | 28 ++++++++++++++++++++++++++++ go.sum | 0 2 files changed, 28 insertions(+) create mode 100644 .github/workflows/gh-pages.yml create mode 100644 go.sum diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml new file mode 100644 index 0000000..472536a --- /dev/null +++ b/.github/workflows/gh-pages.yml @@ -0,0 +1,28 @@ +name: Publish to GitHub Pages +on: + push: + branches: + - main +jobs: + build: + runs-on: ubuntu-latest + env: + GOOS: js + GOARCH: wasm + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-go@v3 + with: + go-version: 1.21.x + cache: true + - name: build wasm + run: | + go build -o ./web/main.wasm ./cmd/webassembly/main.go + - name: copy go wasm js engine + run: | + cp "$(go env GOROOT)/misc/wasm/wasm_exec.js" ./web + - name: Deploy gh-pages + uses: JamesIves/github-pages-deploy-action@v4.4.3 + with: + branch: gh-pages + folder: web diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..e69de29 From 6ab941468f93828fe7b6f6ed38316035830e6a37 Mon Sep 17 00:00:00 2001 From: Lucas Menendez Date: Thu, 19 Oct 2023 01:20:08 +0200 Subject: [PATCH 10/15] new action to test, new tests and some fixes --- .github/parse-tests.js | 55 +++++++++ .github/workflows/main.yml | 55 +++++++++ api/api.go | 32 +++--- api/api_test.go | 122 ++++++++++++++++++++ cipher/cipher.go | 13 +++ cipher/cipher_test.go | 13 +++ passwords/passwords.go | 21 ++-- passwords/passwords_test.go | 220 ++++++++++++++++++++++++++++++++++++ 8 files changed, 504 insertions(+), 27 deletions(-) create mode 100644 .github/parse-tests.js create mode 100644 .github/workflows/main.yml create mode 100644 api/api_test.go create mode 100644 passwords/passwords_test.go diff --git a/.github/parse-tests.js b/.github/parse-tests.js new file mode 100644 index 0000000..9483cc2 --- /dev/null +++ b/.github/parse-tests.js @@ -0,0 +1,55 @@ +const readline = require("readline"); + +const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, + terminal: false, +}); + +const summary = { fail: [], pass: [], skip: [] }; + +rl.on("line", (line) => { + const output = JSON.parse(line); + if ( + output.Action === "pass" || + output.Action === "skip" || + output.Action === "fail" + ) { + if (output.Test) { + summary[output.Action].push(output); + } + } +}); + +function totalTime(entries) { + return entries.reduce((total, l) => total + l.Elapsed, 0); +} + +rl.on("close", () => { + console.log("## 📋 Tests executed"); + console.log("| | Number of Tests | Total Time |"); + console.log("|--|--|--|"); + console.log( + "| ✅ Passed | %d | %fs |", + summary.pass.length, + totalTime(summary.pass) + ); + console.log( + "| ❌ Failed | %d | %fs |", + summary.fail.length, + totalTime(summary.fail) + ); + console.log( + "| 🔜 Skipped | %d | %fs |", + summary.skip.length, + totalTime(summary.skip) + ); + + if (summary.fail.length > 0) { + console.log("\n## Failures\n"); + } + + summary.fail.forEach((test) => { + console.log("* %s (%s) %fs", test.Test, test.Package, test.Elapsed); + }); +}); \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..0689044 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,55 @@ +name: Main +on: [push, pull_request] +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + - name: Install Go + uses: actions/setup-go@v3 + with: + go-version: 1.21.x + cache: true + - name: Run golangci-lint + uses: golangci/golangci-lint-action@v3 + with: + version: latest + args: --timeout 5m --verbose + skip-cache: false + skip-pkg-cache: false + skip-build-cache: false + only-new-issues: true + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-go@v3 + with: + go-version: 1.21.x + cache: true + - name: run test + run: | + go test -v --race -timeout 15m -coverprofile=./cover.out -json ./... > tests.log + - name: convert coverage to html + run: go tool cover -html=cover.out -o cover.html + - name: print test report + run: | + set -o pipefail && cat tests.log | node .github/parse-tests.js >> $GITHUB_STEP_SUMMARY + echo $GITHUB_STEP_SUMMARY + - name: print coverage result + run: | + go tool cover -func=cover.out > ./cover.txt + echo "
📏 Tests coverage" >> $GITHUB_STEP_SUMMARY + echo -e "\n\`\`\`" >> $GITHUB_STEP_SUMMARY + cat ./cover.txt >> $GITHUB_STEP_SUMMARY + echo -e "\`\`\`\n
" >> $GITHUB_STEP_SUMMARY + - name: store code coverage artifact + uses: actions/upload-artifact@v3 + with: + name: report + path: | + tests.log + cover.txt + cover.out + cover.html \ No newline at end of file diff --git a/api/api.go b/api/api.go index 7ef4bba..eaf2f23 100644 --- a/api/api.go +++ b/api/api.go @@ -71,9 +71,22 @@ func (api *API) Set(alias, username, password string) { api.passwords.Set(alias, username, password) } -// Del deletes the password with the given alias, if it exists. -func (api *API) Del(alias string) { - api.passwords.Del(alias) +// Del deletes the password with the given id, if it exists. +func (api *API) Del(id string) { + api.passwords.Del(id) +} + +// Get returns the password with the given alias. If json is true, it will +// print the json representation of the password. If json is false, it will +// print the string representation of the password. +func (api *API) Get(id string, json bool) string { + if pass := api.passwords.Get(id); pass != nil { + if json { + return pass.String() + } + return fmt.Sprintf("[%s] %s -> %s:%s\n", id, pass.Alias, pass.Username, pass.Password) + } + return "" } // List lists all the passwords in the passwords map. If json is true, it will @@ -89,16 +102,3 @@ func (api *API) List(json bool) string { } return result } - -// Get returns the password with the given alias. If json is true, it will -// print the json representation of the password. If json is false, it will -// print the string representation of the password. -func (api *API) Get(id string, json bool) string { - if pass := api.passwords.Get(id); pass != nil { - if json { - return pass.String() - } - return fmt.Sprintf("[%s] %s -> %s:%s\n", id, pass.Alias, pass.Username, pass.Password) - } - return "" -} diff --git a/api/api_test.go b/api/api_test.go new file mode 100644 index 0000000..b5a196c --- /dev/null +++ b/api/api_test.go @@ -0,0 +1,122 @@ +package api + +import "testing" + +const ( + testID = "5cd0baaeadbb55c8f432ad227bd8d96c" + testAlias = "alias" + testUsername = "username" + testPassword = "password" + testPassphase = "passphrase" +) + +func TestNew(t *testing.T) { + api := New(testPassphase) + if api == nil { + t.Fatalf("Expected API to be created, got nil") + } + if string(api.passphrase) != testPassphase { + t.Fatalf("Expected passphrase to be %s, got %s", testPassphase, api.passphrase) + } + if api.passwords == nil { + t.Fatalf("Expected passwords to be created, got nil") + } +} + +func TestAPI_ImportExport(t *testing.T) { + api := New(testPassphase) + if err := api.Import("a"); err == nil { + t.Fatalf("Expected error, got nil") + } + + emptyDump, err := api.Export() + if err != nil { + t.Fatalf("Expected no error, got %s", err) + } + + api.passphrase = []byte("wrong") + + if err := api.Import(emptyDump); err == nil { + t.Fatal("Expected error, got nil") + } + + api.passphrase = []byte(testPassphase) + api.Set(testAlias, testUsername, testPassword) + + dump, err := api.Export() + if err != nil { + t.Fatalf("Expected no error, got %s", err) + } + if dump == "" { + t.Fatalf("Expected dump to be not empty, got empty") + } + + if err := api.Import(dump); err != nil { + t.Fatalf("Expected no error, got %s", err) + } + if l := len(api.passwords.List()); l != 1 { + t.Fatalf("Expected passwords to have 1 element, got %d", l) + } + + if api.passwords.List()[0].Alias != testAlias { + t.Fatalf("Expected alias to be %s, got %s", testAlias, api.passwords.List()[0].Alias) + } + if api.passwords.List()[0].Username != testUsername { + t.Fatalf("Expected username to be %s, got %s", testUsername, api.passwords.List()[0].Username) + } + if api.passwords.List()[0].Password != testPassword { + t.Fatalf("Expected password to be %s, got %s", testPassword, api.passwords.List()[0].Password) + } + + api.passphrase = []byte{} + if _, err := api.Export(); err == nil { + t.Fatalf("Expected error, got nil") + } +} + +func TestAPI_SetDel(t *testing.T) { + api := New(testPassphase) + api.Set(testAlias, testUsername, testPassword) + if l := len(api.passwords.List()); l != 1 { + t.Fatalf("Expected passwords to have 1 element, got %d", l) + } + if api.passwords.List()[0].ID != testID { + t.Fatalf("Expected ID to be %s, got %s", testID, api.passwords.List()[0].ID) + } + api.Del(testID) + if l := len(api.passwords.List()); l != 0 { + t.Fatalf("Expected passwords to have 0 elements, got %d", l) + } +} + +func TestAPI_Get(t *testing.T) { + api := New(testPassphase) + api.Set(testAlias, testUsername, testPassword) + expectedStr := "[" + testID + "] " + testAlias + " -> " + testUsername + ":" + testPassword + "\n" + if resultStr := api.Get(testID, false); resultStr != expectedStr { + t.Fatalf("Expected %s, got %s", expectedStr, resultStr) + } + expectedJSON := `{"id":"` + testID + `","alias":"` + testAlias + `","username":"` + testUsername + `","password":"` + testPassword + `"}` + if resultJSON := api.Get(testID, true); resultJSON != expectedJSON { + t.Fatalf("Expected %s, got %s", expectedJSON, resultJSON) + } + if resultStr := api.Get("not-existing", false); resultStr != "" { + t.Fatalf("Expected empty string, got %s", resultStr) + } + if resultJSON := api.Get("not-existing", true); resultJSON != "" { + t.Fatalf("Expected empty string, got %s", resultJSON) + } +} + +func TestAPI_List(t *testing.T) { + api := New(testPassphase) + api.Set(testAlias, testUsername, testPassword) + expectedStr := "[" + testID + "] " + testAlias + " -> " + testUsername + ":" + testPassword + "\n" + if resultStr := api.List(false); resultStr != expectedStr { + t.Fatalf("Expected %s, got %s", expectedStr, resultStr) + } + expectedJSON := `[{"id":"` + testID + `","alias":"` + testAlias + `","username":"` + testUsername + `","password":"` + testPassword + `"}]` + if resultJSON := api.List(true); resultJSON != expectedJSON { + t.Fatalf("Expected %s, got %s", expectedJSON, resultJSON) + } +} diff --git a/cipher/cipher.go b/cipher/cipher.go index 0d7945e..30baeb4 100644 --- a/cipher/cipher.go +++ b/cipher/cipher.go @@ -5,6 +5,7 @@ import ( "crypto/cipher" "crypto/md5" "crypto/rand" + "fmt" "io" ) @@ -18,6 +19,12 @@ func hashFunc(raw []byte) []byte { // Encrypt encrypts the given data using the passphrase provided by the user. func Encrypt(data, passphrase []byte) ([]byte, error) { + if len(data) == 0 { + return nil, nil + } + if len(passphrase) == 0 { + return nil, fmt.Errorf("passphrase is empty") + } // create the cipher block with the hash of the passphrase provided by the // user block, err := aes.NewCipher(hashFunc(passphrase)) @@ -40,6 +47,12 @@ func Encrypt(data, passphrase []byte) ([]byte, error) { // Decrypt decrypts the given data using the passphrase provided by the user. func Decrypt(data, passphrase []byte) ([]byte, error) { + if len(data) == 0 { + return nil, nil + } + if len(passphrase) == 0 { + return nil, fmt.Errorf("passphrase is empty") + } // create the cipher block with the hash of the passphrase provided by the // user block, err := aes.NewCipher(hashFunc(passphrase)) diff --git a/cipher/cipher_test.go b/cipher/cipher_test.go index f2a4a44..1f51eac 100644 --- a/cipher/cipher_test.go +++ b/cipher/cipher_test.go @@ -19,4 +19,17 @@ func TestEncryptDecrypt(t *testing.T) { if string(decrypted) != input { t.Fatalf("Expected '%s', got '%s'", input, decrypted) } + + if _, err = Decrypt(encrypted, []byte("wrong")); err == nil { + t.Fatalf("Expected error during decryption, got nil") + } + if _, err = Decrypt(encrypted, nil); err == nil { + t.Fatalf("Expected error during decryption, got nil") + } + if _, err = Encrypt([]byte(input), nil); err == nil { + t.Fatalf("Expected error during encryption, got nil") + } + if _, err = Encrypt(nil, []byte(pass)); err != nil { + t.Fatalf("Expected nil, got error: %s", err) + } } diff --git a/passwords/passwords.go b/passwords/passwords.go index ee1b9c4..bd8d40a 100644 --- a/passwords/passwords.go +++ b/passwords/passwords.go @@ -4,7 +4,6 @@ import ( "encoding/json" "fmt" "hash/fnv" - "log" "strings" ) @@ -37,11 +36,6 @@ func (p *Password) String() string { return "" } -// List returns a list with a copy of the current Password's. -func (p *Passwords) List() []*Password { - return append([]*Password{}, p.passwords...) -} - // Export returns the json representation of the password. func (p *Password) Export() ([]byte, error) { return json.Marshal(p) @@ -53,12 +47,16 @@ type Passwords struct { passwords []*Password } +// List returns a list with a copy of the current Password's. +func (p *Passwords) List() []*Password { + return append([]*Password{}, p.passwords...) +} + // String returns the string representation of the passwords. It uses the // Export() method to get the json representation of the passwords and then // converts it to string. func (p *Passwords) String() string { if dump, err := p.Export(); err == nil { - log.Println(string(dump)) return string(dump) } return "" @@ -75,6 +73,7 @@ func (p *Passwords) Import(data []byte) error { if err := json.Unmarshal(data, &items); err != nil { return err } + p.passwords = []*Password{} for _, item := range items { p.passwords = append(p.passwords, &Password{ ID: item.ID, @@ -87,10 +86,10 @@ func (p *Passwords) Import(data []byte) error { } -// Get returns the password with the given alias. -func (p *Passwords) Get(alias string) *Password { +// Get returns the password with the given ID. +func (p *Passwords) Get(id string) *Password { for _, password := range p.passwords { - if password.Alias == alias { + if password.ID == id { return password } } @@ -117,7 +116,7 @@ func (p *Passwords) Set(alias, username, password string) { }) } -// Del deletes the password with the given alias, if it exists. +// Del deletes the password with the given ID, if it exists. func (p *Passwords) Del(id string) { for i, pass := range p.passwords { if pass.ID == id { diff --git a/passwords/passwords_test.go b/passwords/passwords_test.go new file mode 100644 index 0000000..28a4884 --- /dev/null +++ b/passwords/passwords_test.go @@ -0,0 +1,220 @@ +package passwords + +import ( + "bytes" + "fmt" + "hash/fnv" + "testing" +) + +const ( + testAlias = "alias" + testUsername = "username" + testPassword = "password" +) + +var testID = calculateID(testAlias, testUsername) + +func Test_calculateID(t *testing.T) { + hashFn := fnv.New128() + hashFn.Write([]byte(testAlias + "-" + testUsername)) + expectedID := fmt.Sprintf("%x", hashFn.Sum(nil)) + id := calculateID(testAlias, testUsername) + if id != expectedID { + t.Fatalf("Expected ID to be %s, got %s", expectedID, id) + } + + hashFn.Reset() + hashFn.Write([]byte("")) + expectedID = fmt.Sprintf("%x", hashFn.Sum(nil)) + id = calculateID("") + if id != expectedID { + t.Fatalf("Expected ID to be %s, got %s", expectedID, id) + } + + hashFn.Reset() + hashFn.Write([]byte("-")) + expectedID = fmt.Sprintf("%x", hashFn.Sum(nil)) + id = calculateID("", "") + if id != expectedID { + t.Fatalf("Expected ID to be %s, got %s", expectedID, id) + } +} + +func TestPassword_String(t *testing.T) { + p := &Password{ + ID: testID, + Alias: testAlias, + Username: testUsername, + Password: testPassword, + } + expectedString := `{"id":"` + testID + `","alias":"` + testAlias + `","username":"` + testUsername + `","password":"` + testPassword + `"}` + if p.String() != expectedString { + t.Fatalf("Expected string representation to be %s, got %s", expectedString, p.String()) + } +} + +func TestPassword_Export(t *testing.T) { + p := &Password{ + ID: testID, + Alias: testAlias, + Username: testUsername, + Password: testPassword, + } + result, err := p.Export() + if err != nil { + t.Fatalf("Expected no error, got %s", err) + } + expectedString := `{"id":"` + testID + `","alias":"` + testAlias + `","username":"` + testUsername + `","password":"` + testPassword + `"}` + if !bytes.Equal(result, []byte(expectedString)) { + t.Fatalf("Expected string representation to be %s, got %s", expectedString, string(result)) + } +} + +func TestPasswords_List(t *testing.T) { + p := &Password{ + ID: testID, + Alias: testAlias, + Username: testUsername, + Password: testPassword, + } + passwords := &Passwords{ + passwords: []*Password{p}, + } + list := passwords.List() + if len(list) != 1 { + t.Fatalf("Expected list to have 1 element, got %d", len(list)) + } + if list[0] != p { + t.Fatalf("Expected list to have %v, got %v", p, list[0]) + } +} + +func TestPasswords_String(t *testing.T) { + p := &Password{ + ID: testID, + Alias: testAlias, + Username: testUsername, + Password: testPassword, + } + passwords := &Passwords{ + passwords: []*Password{p}, + } + expectedString := `[{"id":"` + testID + `","alias":"` + testAlias + `","username":"` + testUsername + `","password":"` + testPassword + `"}]` + if passwords.String() != expectedString { + t.Fatalf("Expected string representation to be %s, got %s", expectedString, passwords.String()) + } +} + +func TestPasswords_Export(t *testing.T) { + p := &Password{ + ID: testID, + Alias: testAlias, + Username: testUsername, + Password: testPassword, + } + passwords := &Passwords{ + passwords: []*Password{p}, + } + result, err := passwords.Export() + if err != nil { + t.Fatalf("Expected no error, got %s", err) + } + expectedString := `[{"id":"` + testID + `","alias":"` + testAlias + `","username":"` + testUsername + `","password":"` + testPassword + `"}]` + if !bytes.Equal(result, []byte(expectedString)) { + t.Fatalf("Expected string representation to be %s, got %s", expectedString, string(result)) + } +} + +func TestPasswords_Import(t *testing.T) { + passwords := &Passwords{} + err := passwords.Import([]byte(`[{"id":"` + testID + `","alias":"` + testAlias + `","username":"` + testUsername + `","password":"` + testPassword + `"}]`)) + if err != nil { + t.Fatalf("Expected no error, got %s", err) + } + if len(passwords.passwords) != 1 { + t.Fatalf("Expected passwords to have 1 element, got %d", len(passwords.passwords)) + } + if passwords.passwords[0].ID != testID { + t.Fatalf("Expected ID to be %s, got %s", testID, passwords.passwords[0].ID) + } + if passwords.passwords[0].Alias != testAlias { + t.Fatalf("Expected Alias to be %s, got %s", testAlias, passwords.passwords[0].Alias) + } + if passwords.passwords[0].Username != testUsername { + t.Fatalf("Expected Username to be %s, got %s", testUsername, passwords.passwords[0].Username) + } + if passwords.passwords[0].Password != testPassword { + t.Fatalf("Expected Password to be %s, got %s", testPassword, passwords.passwords[0].Password) + } + + if err := passwords.Import([]byte(`a`)); err == nil { + t.Fatalf("Expected error, got nil") + } +} + +func TestPasswords_Get(t *testing.T) { + p := &Password{ + ID: testID, + Alias: testAlias, + Username: testUsername, + Password: testPassword, + } + passwords := &Passwords{ + passwords: []*Password{p}, + } + result := passwords.Get(testID) + if result != p { + t.Fatalf("Expected %v, got %v", p, result) + } + result = passwords.Get("not-existing") + if result != nil { + t.Fatalf("Expected nil, got %v", result) + } +} + +func TestPasswords_Set(t *testing.T) { + passwords := &Passwords{} + passwords.Set(testAlias, testUsername, testPassword) + if len(passwords.passwords) != 1 { + t.Fatalf("Expected passwords to have 1 element, got %d", len(passwords.passwords)) + } + if passwords.passwords[0].ID != testID { + t.Fatalf("Expected ID to be %s, got %s", testID, passwords.passwords[0].ID) + } + if passwords.passwords[0].Alias != testAlias { + t.Fatalf("Expected Alias to be %s, got %s", testAlias, passwords.passwords[0].Alias) + } + if passwords.passwords[0].Username != testUsername { + t.Fatalf("Expected Username to be %s, got %s", testUsername, passwords.passwords[0].Username) + } + if passwords.passwords[0].Password != testPassword { + t.Fatalf("Expected Password to be %s, got %s", testPassword, passwords.passwords[0].Password) + } + + passwords.Set(testAlias, testUsername, "new-password") + if len(passwords.passwords) != 1 { + t.Fatalf("Expected passwords to have 1 element, got %d", len(passwords.passwords)) + } + if passwords.passwords[0].ID != testID { + t.Fatalf("Expected ID to be %s, got %s", testID, passwords.passwords[0].ID) + } + if passwords.passwords[0].Alias != testAlias { + t.Fatalf("Expected Alias to be %s, got %s", testAlias, passwords.passwords[0].Alias) + } + if passwords.passwords[0].Username != testUsername { + t.Fatalf("Expected Username to be %s, got %s", testUsername, passwords.passwords[0].Username) + } + if passwords.passwords[0].Password != "new-password" { + t.Fatalf("Expected Password to be %s, got %s", "new-password", passwords.passwords[0].Password) + } +} + +func TestPasswords_Del(t *testing.T) { + passwords := &Passwords{} + passwords.Set(testAlias, testUsername, testPassword) + passwords.Del(testID) + if len(passwords.passwords) != 0 { + t.Fatalf("Expected passwords to have 0 elements, got %d", len(passwords.passwords)) + } +} From 457cad58a8c97bbc0d9e7f415c662bfd4fa3b19b Mon Sep 17 00:00:00 2001 From: Lucas Menendez Date: Thu, 19 Oct 2023 22:10:27 +0200 Subject: [PATCH 11/15] preparing readme for merge, including passphrase requirements (at least 8 characters, one upper letter, one lower letter and one number) --- Makefile | 6 ++--- README.md | 59 ++++++++++++++++++++++++++++++++++------- api/api.go | 34 ++++++++++++++++++++++-- api/api_test.go | 50 ++++++++++++++++++++++++++-------- cmd/cli/main.go | 6 ++++- cmd/webassembly/main.go | 15 ++++++++++- 6 files changed, 142 insertions(+), 28 deletions(-) diff --git a/Makefile b/Makefile index cdc5dc7..79cad17 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ -.PHONY: go web all +.PHONY: cli web all -go: +cli: +rm -rf ./bin/mykeys-cli go build -o ./bin/mykeys-cli ./cmd/cli/main.go chmod +x ./bin/mykeys-cli @@ -9,4 +9,4 @@ web: +rm -rf ./web/main.wasm GOOS=js GOARCH=wasm go build -o ./web/main.wasm ./cmd/webassembly/main.go -all: go web +all: cli web \ No newline at end of file diff --git a/README.md b/README.md index 38703a6..b55f642 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,50 @@ -# MyKeys-CLI +[![Last release](https://img.shields.io/github/v/release/lucasmenendez/mykeys?color=purple)](https://github.com/lucasmenendez/mykeys/releases/latest) +[![GoDoc](https://godoc.org/github.com/lucasmenendez/mykeys?status.svg)](https://godoc.org/github.com/lucasmenendez/mykeys) +[![Go Report Card](https://goreportcard.com/badge/github.com/lucasmenendez/mykeys)](https://goreportcard.com/report/github.com/lucasmenendez/mykeys) +[![test](https://github.com/lucasmenendez/mykeys/workflows/test/badge.svg)](https://github.com/lucasmenendez/mykeys/actions?query=workflow%3Atest) +[![license](https://img.shields.io/github/license/lucasmenendez/mykeys)](LICENSE) -## CLI +# 🔐 MyKeys.live -### Build +MyKeys is a simple web app to **manage collections of passwords as bookmarks**. It transforms your **encrypted passwords into a long url** that you can add to bookmarks to open it later and share with your friends. It also support to download or copy the passwords as a file and open or paste them later. + +## Features +The [mykeys.live](https://mykeys.live/) webapp allows to manage your passwords in a secure way, using two levels of security: + * **Something that you know** 💆: the passphrase used to encrypt your passwords. + * **Something that you have** 💁: the bookmark with your encrypted passwords or the file with them. + +The passwords stored will include: + - 🆔 **Alias**: Human tag to identify the credential. It is used to filter your passwords in very long collections. *Ex.: 'Spotify for Artist'*. + - 👤 **Username**: The account identifier of the credential into its service. *Ex.: 'cruz.cafune@mecen-ent.com'*. + - 🔑 **Password**: The account password of the credential. *Ex.: 'M4r4cuch0'*. + +#### Securized with a master password +To open or save your passwors, you must provide a passphrase used as a **master password** to encrypt them. The passphrase has the following requirements: + - At least one letter. + - At least one number. + - At least eight characters. + +#### Credentials data as URL +When you store your passwords as bookmark, the passwords are encrypted with your passphrease and encoded in base64 (url compatible version), and they are placed as a part of the url then. With this solution you can access to your passwords in any browser that has your bookmarks synced. + +## Interfaces + +Mykeys has both interfaces to interact with your passwords, and there are totally interoperable, which means that the passwords created with one of them are compatible with the other one. + +This is possible because the web app uses the same basecode that the CLI, writted in Go and compiled with WebAssembly to be used on browsers. + +### ⌨️ CLI +A simple console tool to manage your passwords files. It does not store any information or data, it is just a cli to manage your encrypted passwords. + +#### Build it ```sh -go build -o ./bin/mykeys-cli ./cmd/cli && chmod +x ./bin/mykeys-cli +go build -o ../../bin/mykeys-cli . && chmod +x ../../bin/mykeys-cli # or: -# make go +# cd .. && make cli ``` -### Demo +#### Demo time! ``` $ > ./mykeys-cli -h 🔐 MyKeys CLI 🔐 @@ -30,9 +64,10 @@ Options: username of the password ``` -## WebAssembly +### 📱 Web app +A Vue web app that allows to upload your passwords or open it from a URL. It does not store any information, it is just an interface to decrypt and manage your passwords from browsers. -### Build +#### Build it ```sh # build for webassembly and save the result in the ./web folder GOOS=js GOARCH=wasm go build -o ./web/main.wasm ./cmd/webassembly @@ -41,7 +76,7 @@ GOOS=js GOARCH=wasm go build -o ./web/main.wasm ./cmd/webassembly # make web ``` -### Demo +#### Demo time! ```sh # copy wasm_exec.js from yout go installation to ./web folder cp "$(go env GOROOT)/misc/wasm/wasm_exec.js" ./web @@ -49,4 +84,8 @@ cp "$(go env GOROOT)/misc/wasm/wasm_exec.js" ./web # go to ./web folder and start an local http server on 5500 port cd ./web && python3 -m http.server 5500 ``` -Go to [localhost:5500](http://127.0.0.1:5500) to check a demo. \ No newline at end of file +Go to [localhost:5500](http://127.0.0.1:5500) to check a demo. + +## Credits + +Thanks to much to my CSS Grid teacher Sandra Laguna and to my professional beta testers [Pablo Duque](https://github.com/pabloduque0), [Mario Rodriguez](https://github.com/mapno), [Marcos Stival](https://github.com/mrksph), [Alberto Rojas](https://github.com/r0jasx) and [Manuel Méndez](https://www.linkedin.com/in/manuel-m%C3%A9ndez-garc%C3%ADa-0ba16316a/). \ No newline at end of file diff --git a/api/api.go b/api/api.go index eaf2f23..a122c43 100644 --- a/api/api.go +++ b/api/api.go @@ -8,6 +8,33 @@ import ( "github.com/lucasmenendez/mykeys-cli/passwords" ) +var ( + ErrUnsecurePassphrase = fmt.Errorf("the passphrase does not meet the security requirements") +) + +// securePassphrase returns true if the given passphrase is secure or not. A +// secure passphrase must have at least 8 characters, one lower case letter, +// one upper case letter and one number. +func securePassphrase(passphrase string) bool { + if len(passphrase) < 8 { + return false + } + hasLowerLetter := false + hasUpperLetter := false + hasNumber := false + for _, c := range passphrase { + switch { + case c >= 'a' && c <= 'z': + hasLowerLetter = true + case c >= 'A' && c <= 'Z': + hasUpperLetter = true + case c >= '0' && c <= '9': + hasNumber = true + } + } + return hasLowerLetter && hasUpperLetter && hasNumber +} + // API is the struct that represents the command line interface of MyKeys. Ir // has the filepath of the passwords file, the passphrase to encrypt and // decrypt it and a password map. @@ -19,11 +46,14 @@ type API struct { // New returns an empty API with the given passphrase. It also inits // the passwords map. It converts the passphrase from string to a slice of // bytes. -func New(passphrase string) *API { +func New(passphrase string) (*API, error) { + if !securePassphrase(passphrase) { + return nil, ErrUnsecurePassphrase + } return &API{ passphrase: []byte(passphrase), passwords: new(passwords.Passwords), - } + }, nil } // Import imports the passwords from the base64url encoded string and passphrase diff --git a/api/api_test.go b/api/api_test.go index b5a196c..5df9e97 100644 --- a/api/api_test.go +++ b/api/api_test.go @@ -3,15 +3,43 @@ package api import "testing" const ( - testID = "5cd0baaeadbb55c8f432ad227bd8d96c" - testAlias = "alias" - testUsername = "username" - testPassword = "password" - testPassphase = "passphrase" + testID = "5cd0baaeadbb55c8f432ad227bd8d96c" + testAlias = "alias" + testUsername = "username" + testPassword = "password" + testPassphase = "P4ssphrase" + testWrongPassphase = "W4ssphrase" ) +func Test_securePassphrase(t *testing.T) { + if securePassphrase("") { + t.Fatalf("Expected empty passphrase to be unsecure") + } + if securePassphrase("12345678") { + t.Fatalf("Expected 12345678 passphrase to be unsecure") + } + if securePassphrase("12345678a") { + t.Fatalf("Expected 12345678a passphrase to be unsecure") + } + if securePassphrase("12345678A") { + t.Fatalf("Expected 12345678A passphrase to be unsecure") + } + if securePassphrase("aaaaAAAA") { + t.Fatalf("Expected aaaaAAAA passphrase to be unsecure") + } + if !securePassphrase("123456aA") { + t.Fatalf("Expected 123456aA passphrase to be secure") + } + if !securePassphrase("123456aaAA") { + t.Fatalf("Expected 123456aaAA passphrase to be secure") + } +} + func TestNew(t *testing.T) { - api := New(testPassphase) + api, err := New(testPassphase) + if err != nil { + t.Fatalf("Expected no error, got %s", err) + } if api == nil { t.Fatalf("Expected API to be created, got nil") } @@ -24,7 +52,7 @@ func TestNew(t *testing.T) { } func TestAPI_ImportExport(t *testing.T) { - api := New(testPassphase) + api, _ := New(testPassphase) if err := api.Import("a"); err == nil { t.Fatalf("Expected error, got nil") } @@ -34,7 +62,7 @@ func TestAPI_ImportExport(t *testing.T) { t.Fatalf("Expected no error, got %s", err) } - api.passphrase = []byte("wrong") + api.passphrase = []byte(testWrongPassphase) if err := api.Import(emptyDump); err == nil { t.Fatal("Expected error, got nil") @@ -75,7 +103,7 @@ func TestAPI_ImportExport(t *testing.T) { } func TestAPI_SetDel(t *testing.T) { - api := New(testPassphase) + api, _ := New(testPassphase) api.Set(testAlias, testUsername, testPassword) if l := len(api.passwords.List()); l != 1 { t.Fatalf("Expected passwords to have 1 element, got %d", l) @@ -90,7 +118,7 @@ func TestAPI_SetDel(t *testing.T) { } func TestAPI_Get(t *testing.T) { - api := New(testPassphase) + api, _ := New(testPassphase) api.Set(testAlias, testUsername, testPassword) expectedStr := "[" + testID + "] " + testAlias + " -> " + testUsername + ":" + testPassword + "\n" if resultStr := api.Get(testID, false); resultStr != expectedStr { @@ -109,7 +137,7 @@ func TestAPI_Get(t *testing.T) { } func TestAPI_List(t *testing.T) { - api := New(testPassphase) + api, _ := New(testPassphase) api.Set(testAlias, testUsername, testPassword) expectedStr := "[" + testID + "] " + testAlias + " -> " + testUsername + ":" + testPassword + "\n" if resultStr := api.List(false); resultStr != expectedStr { diff --git a/cmd/cli/main.go b/cmd/cli/main.go index 24514d9..3b5dbc4 100644 --- a/cmd/cli/main.go +++ b/cmd/cli/main.go @@ -68,7 +68,11 @@ func main() { return } // Create CLI - mykeysAPI := api.New(*passphrase) + mykeysAPI, err := api.New(*passphrase) + if err != nil { + fmt.Println(err) + return + } passwords, err := openfile(*filepath) if err != nil { fmt.Println(err) diff --git a/cmd/webassembly/main.go b/cmd/webassembly/main.go index 9c9b521..8a0ae59 100644 --- a/cmd/webassembly/main.go +++ b/cmd/webassembly/main.go @@ -4,7 +4,9 @@ package main import ( + "errors" "fmt" + "strings" "syscall/js" "github.com/lucasmenendez/mykeys-cli/api" @@ -30,10 +32,21 @@ func initCLI(b64, passphrase js.Value) (*api.API, error) { return nil, fmt.Errorf("no passphrase provided") } // Create CLI with empty filepath and the provided passphrase - mykeysAPI := api.New(passphrase.String()) + mykeysAPI, err := api.New(passphrase.String()) + if err != nil { + if errors.Is(err, api.ErrUnsecurePassphrase) { + return nil, fmt.Errorf("The passphrase does not meet the security " + + "requirements, it must have at least 8 characters, one lower " + + "case letter, one upper case letter and one number.") + } + return nil, err + } // Import from base64 or read it from the file if b64.String() != "" { if err := mykeysAPI.Import(b64.String()); err != nil { + if strings.Contains(err.Error(), "message authentication failed") { + return nil, fmt.Errorf("Wrong passphrase provided.") + } return nil, err } } From f7a7bc8ff2660e4e1d762a40ab548be647bc5efb Mon Sep 17 00:00:00 2001 From: Lucas Menendez Date: Thu, 19 Oct 2023 22:16:44 +0200 Subject: [PATCH 12/15] license --- LICENSE | 660 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 660 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..a6d1b12 --- /dev/null +++ b/LICENSE @@ -0,0 +1,660 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2020 Lucas Menendez, + Everyone is permitted to copy and distribute verbatim copies + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero 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 Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. \ No newline at end of file From fab2bca35f20946ad29e5a9ce9a527aab136fd84 Mon Sep 17 00:00:00 2001 From: Lucas Menendez Date: Thu, 19 Oct 2023 23:12:37 +0200 Subject: [PATCH 13/15] new actions --- .github/workflows/release.yml | 59 ++++++++++++++++++++++++ .github/workflows/{main.yml => test.yml} | 2 +- 2 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/release.yml rename .github/workflows/{main.yml => test.yml} (99%) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..49baa79 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,59 @@ +name: Publish + +on: + push: + tags: + - '*' + +jobs: + build: + name: Publish binaries + runs-on: ubuntu-latest + env: + GOOS: js + GOARCH: wasm + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-go@v3 + with: + go-version: 1.21.x + cache: true + - name: Build wasm + run: | + go build -o ./web/mykeys.wasm ./cmd/webassembly/main.go + - name: Copy go wasm js engine + run: | + cp "$(go env GOROOT)/misc/wasm/wasm_exec.js" ./web + - name: Upload mykeys.wasm + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: web/mykeys.wasm + asset_name: mykeys.wasm + tag: ${{ github.ref }} + overwrite: true + body: "mykeys.live release" + - name: Upload wasm_exec.js + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: web/wasm_exec.js + asset_name: wasm_exec.js + tag: ${{ github.ref }} + overwrite: true + body: "wasm_exec.js release" + - name: Generate hash + uses: MCJack123/ghaction-generate-release-hashes@v3 + with: + hash-type: sha1 + file-name: web/hashes.txt + - name: Upload hash + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: web/hashes.txt + asset_name: hashes.txt + tag: ${{ github.ref }} + overwrite: true + body: "mykeys.live sha1 hash release" + \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/test.yml similarity index 99% rename from .github/workflows/main.yml rename to .github/workflows/test.yml index 0689044..014ae88 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/test.yml @@ -1,4 +1,4 @@ -name: Main +name: test on: [push, pull_request] jobs: lint: From 531082340391936bb463f0e22db05e926fc79c4c Mon Sep 17 00:00:00 2001 From: Lucas Menendez Date: Thu, 19 Oct 2023 23:18:34 +0200 Subject: [PATCH 14/15] testing release action --- .github/workflows/gh-pages.yml | 28 --------- .github/workflows/release.yml | 110 +++++++++++++++++++++++---------- .github/workflows/test.yml | 2 +- Makefile | 4 +- web/src/app.js | 5 +- 5 files changed, 82 insertions(+), 67 deletions(-) delete mode 100644 .github/workflows/gh-pages.yml diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml deleted file mode 100644 index 472536a..0000000 --- a/.github/workflows/gh-pages.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Publish to GitHub Pages -on: - push: - branches: - - main -jobs: - build: - runs-on: ubuntu-latest - env: - GOOS: js - GOARCH: wasm - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-go@v3 - with: - go-version: 1.21.x - cache: true - - name: build wasm - run: | - go build -o ./web/main.wasm ./cmd/webassembly/main.go - - name: copy go wasm js engine - run: | - cp "$(go env GOROOT)/misc/wasm/wasm_exec.js" ./web - - name: Deploy gh-pages - uses: JamesIves/github-pages-deploy-action@v4.4.3 - with: - branch: gh-pages - folder: web diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 49baa79..f7d4498 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,4 +1,4 @@ -name: Publish +name: Release new version on: push: @@ -6,8 +6,59 @@ on: - '*' jobs: - build: - name: Publish binaries + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + - name: Install Go + uses: actions/setup-go@v3 + with: + go-version: 1.21.x + cache: true + - name: Run golangci-lint + uses: golangci/golangci-lint-action@v3 + with: + version: latest + args: --timeout 5m --verbose + skip-cache: false + skip-pkg-cache: false + skip-build-cache: false + only-new-issues: true + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-go@v3 + with: + go-version: 1.21.x + cache: true + - name: run test + run: | + go test -v --race -timeout 15m -coverprofile=./cover.out -json ./... > tests.log + - name: convert coverage to html + run: go tool cover -html=cover.out -o cover.html + - name: print test report + run: | + set -o pipefail && cat tests.log | node .github/parse-tests.js >> $GITHUB_STEP_SUMMARY + echo $GITHUB_STEP_SUMMARY + - name: print coverage result + run: | + go tool cover -func=cover.out > ./cover.txt + echo "
📏 Tests coverage" >> $GITHUB_STEP_SUMMARY + echo -e "\n\`\`\`" >> $GITHUB_STEP_SUMMARY + cat ./cover.txt >> $GITHUB_STEP_SUMMARY + echo -e "\`\`\`\n
" >> $GITHUB_STEP_SUMMARY + - name: store code coverage artifact + uses: actions/upload-artifact@v3 + with: + name: report + path: | + tests.log + cover.txt + cover.out + cover.html + publish: runs-on: ubuntu-latest env: GOOS: js @@ -24,36 +75,29 @@ jobs: - name: Copy go wasm js engine run: | cp "$(go env GOROOT)/misc/wasm/wasm_exec.js" ./web - - name: Upload mykeys.wasm - uses: svenstaro/upload-release-action@v2 - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: web/mykeys.wasm - asset_name: mykeys.wasm - tag: ${{ github.ref }} - overwrite: true - body: "mykeys.live release" - - name: Upload wasm_exec.js - uses: svenstaro/upload-release-action@v2 + - name: Generate checksum + uses: jmgilman/actions-generate-checksum@v1 + with: + output: sha256_checksums.txt + patterns: | + web/mykeys.wasm + web/wasm_exec.js + - name: Upload assets + uses: softprops/action-gh-release@v1 + id: upload-release-asset with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: web/wasm_exec.js - asset_name: wasm_exec.js - tag: ${{ github.ref }} - overwrite: true - body: "wasm_exec.js release" - - name: Generate hash - uses: MCJack123/ghaction-generate-release-hashes@v3 - with: - hash-type: sha1 - file-name: web/hashes.txt - - name: Upload hash - uses: svenstaro/upload-release-action@v2 + files: | + sha256_checksums.txt + web/mykeys.wasm + web/wasm_exec.js + - name: Print assets urls + run: | + echo "${{ fromJSON(steps.upload-release-asset.outputs.assets)[0].browser_download_url }}" + echo "${{ fromJSON(steps.upload-release-asset.outputs.assets)[1].browser_download_url }}" + echo "${{ fromJSON(steps.upload-release-asset.outputs.assets)[2].browser_download_url }}" + - name: Deploy to github pages + uses: JamesIves/github-pages-deploy-action@v4.4.3 with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: web/hashes.txt - asset_name: hashes.txt - tag: ${{ github.ref }} - overwrite: true - body: "mykeys.live sha1 hash release" + branch: gh-pages + folder: web \ No newline at end of file diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 014ae88..b1e31b6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,4 +1,4 @@ -name: test +name: Lint and test on: [push, pull_request] jobs: lint: diff --git a/Makefile b/Makefile index 79cad17..a0d0f7d 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ cli: chmod +x ./bin/mykeys-cli web: - +rm -rf ./web/main.wasm - GOOS=js GOARCH=wasm go build -o ./web/main.wasm ./cmd/webassembly/main.go + +rm -rf ./web/mykeys.wasm + GOOS=js GOARCH=wasm go build -o ./web/mykeys.wasm ./cmd/webassembly/main.go all: cli web \ No newline at end of file diff --git a/web/src/app.js b/web/src/app.js index 22d438f..1cfa985 100644 --- a/web/src/app.js +++ b/web/src/app.js @@ -3,8 +3,7 @@ import OpenPasswords from './components/OpenPasswords.js'; import SavePasswords from './components/SavePasswords.js'; import ListPasswords from './components/ListPasswords.js'; -import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js' -// import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.prod.js' +import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.prod.js' const app = createApp({ data() { @@ -52,7 +51,7 @@ const app = createApp({ methods: { async setupWebAssembly() { const go = new Go(); - const result = await WebAssembly.instantiateStreaming(fetch("main.wasm"), go.importObject); + const result = await WebAssembly.instantiateStreaming(fetch("mykeys.wasm"), go.importObject); go.run(result.instance); }, checkURLParams() { From ce154f9230784581ca201d3ca6b0a35cd7aa8e9e Mon Sep 17 00:00:00 2001 From: Lucas Menendez Date: Sun, 22 Oct 2023 18:52:35 +0200 Subject: [PATCH 15/15] empty branch to merge with the new implementation --- .github/workflows/gh-pages.yml | 20 - .gitignore | 21 - README.md | 35 - babel.config.js | 5 - package-lock.json | 27535 ------------------------------ package.json | 45 - public/404.html | 23 - public/css/normalize.css | 427 - public/css/skeleton.css | 410 - public/images/icon.svg | 1 - public/images/logo-white.svg | 12 - public/images/logo.ico | Bin 128196 -> 0 bytes public/images/logo.svg | 12 - public/images/media.png | Bin 724346 -> 0 bytes public/index.html | 44 - src/App.vue | 25 - src/components/CopyButton.vue | 29 - src/components/Credits.vue | 22 - src/components/GeneratedUrl.vue | 150 - src/components/HelpMessage.vue | 35 - src/components/Jumbo.vue | 58 - src/components/Notification.vue | 34 - src/components/PasswordForm.vue | 157 - src/components/QuickStart.vue | 52 - src/elements/Box.vue | 50 - src/elements/Button.vue | 52 - src/elements/Container.vue | 31 - src/elements/Icon.vue | 10 - src/elements/Input.vue | 129 - src/elements/Step.vue | 84 - src/elements/Table.vue | 168 - src/elements/Toast.vue | 87 - src/lib/eventbus.js | 3 - src/lib/file.js | 96 - src/main.js | 10 - src/router.js | 91 - src/views/Decrypt.vue | 50 - src/views/Encrypt.vue | 60 - src/views/Home.vue | 22 - src/views/Manager.vue | 92 - 40 files changed, 30187 deletions(-) delete mode 100644 .github/workflows/gh-pages.yml delete mode 100644 .gitignore delete mode 100644 README.md delete mode 100644 babel.config.js delete mode 100644 package-lock.json delete mode 100644 package.json delete mode 100644 public/404.html delete mode 100644 public/css/normalize.css delete mode 100644 public/css/skeleton.css delete mode 100644 public/images/icon.svg delete mode 100644 public/images/logo-white.svg delete mode 100644 public/images/logo.ico delete mode 100644 public/images/logo.svg delete mode 100644 public/images/media.png delete mode 100644 public/index.html delete mode 100644 src/App.vue delete mode 100644 src/components/CopyButton.vue delete mode 100644 src/components/Credits.vue delete mode 100644 src/components/GeneratedUrl.vue delete mode 100644 src/components/HelpMessage.vue delete mode 100644 src/components/Jumbo.vue delete mode 100644 src/components/Notification.vue delete mode 100644 src/components/PasswordForm.vue delete mode 100644 src/components/QuickStart.vue delete mode 100644 src/elements/Box.vue delete mode 100644 src/elements/Button.vue delete mode 100644 src/elements/Container.vue delete mode 100644 src/elements/Icon.vue delete mode 100644 src/elements/Input.vue delete mode 100644 src/elements/Step.vue delete mode 100644 src/elements/Table.vue delete mode 100644 src/elements/Toast.vue delete mode 100644 src/lib/eventbus.js delete mode 100644 src/lib/file.js delete mode 100644 src/main.js delete mode 100644 src/router.js delete mode 100644 src/views/Decrypt.vue delete mode 100644 src/views/Encrypt.vue delete mode 100644 src/views/Home.vue delete mode 100644 src/views/Manager.vue diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml deleted file mode 100644 index e66bf9f..0000000 --- a/.github/workflows/gh-pages.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Publish to GitHub Pages -on: - push: - branches: - - main -jobs: - build-and-deploy: - runs-on: ubuntu-latest - steps: - - name: Checkout 🛎️ - uses: actions/checkout@v2.3.1 - - name: Install and Build 🔧 - run: | - npm install - npm run build - - name: Deploy 🚀 - uses: JamesIves/github-pages-deploy-action@4.1.1 - with: - branch: gh-pages - folder: dist \ No newline at end of file diff --git a/.gitignore b/.gitignore deleted file mode 100644 index b434685..0000000 --- a/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -.DS_Store -node_modules/ -/dist/ - -# local env files -.env.local -.env.*.local - -# Log files -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Editor directories and files -.idea -.vscode -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw* \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 4acdf96..0000000 --- a/README.md +++ /dev/null @@ -1,35 +0,0 @@ - - -# MyKeys - -MyKeys is a simple web app to **manage collections of passwords as bookmarks**. It transforms your **encrypted passwords into a long url** that you can add to bookmarks to open it later or share with your friends. - -It works with [Vue.js (v2)](https://vuejs.org/) and [Web Crypto API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API). - -## Features - -#### Encrypt and share or save up to 10 passwords. - -The [mykeys.live](https://mykeys.live/) webapp allows to manage up to 10 credentials items, that contains the following information: - - **Alias**: Human tag to identify the credential. Up to 20 characters. *Ex.: 'Spotify for Artist'*. - - **Username**: The account identifier of the credential into its service. Up to 25 characters: *Ex.: 'cruz.cafune@mecen-ent.com'*. - - **Password**: The account password of the credential. Up to 25 characters. *Ex.: 'M4r4cuch0'*. - - **Descrption**: Extra field to attach some information to the credential. Up to 50 characters. *Ex.: 'First, remember change the language to Canarian.'*. - -#### Securized with a master password -When the user completes the credentials, the webapp requests a **master password** to encrypt them with the following requirements: - - At least one letter. - - At least one number. - - At least eight characters. -The data is encrypted with that master password, without it, the data is unusable. - -#### Credentials data as URL -Then, the webapp encodes the encrypted credentials into a long URL that the user can share with others or save as bookmark to see the credentials later. Ex.: -``` -https://mykeys.live/#/d/cf164f5164836bd4c4be0013eLuTdPZ05doNN6YqXgWvglI2bRDcuB3SDVwC2Iz7sW1O6WhQSK9cqIWSwHSkE3UQoTrBL10oWnWVUsO4VLJwyTSJjiw8AT1nsZ8V6abKVcVMi23YDYMx5OdVC0MBUmJ1xI9d1PLfJ6Jq72BezQSkA+UJQrqdetw105Xlj+ZM4bOblSULB%2FSVGoomgRluYQsKBCReqoLDnWgFdX8%2F3tHSEeOYjvmdKGh%2FaOkKH4N7r9gY%2FdCY30XR+GRo83652bfGSTSslROcZ4RUX2VhrrPvuMtcbQFZQ+xf9zuqzQ5ZmIyyWhWpHx6ULG9HwX9n8vFgiS+FDMaOOCCG7e03I4w1FfyZaU1Yhjj3I6y6lbYYf5ger%2FWQzWjVpwyZcGOZKiNs68DKwGNnVAV459rB6C5PhDO9W1W+97X5Ea9vbvKILGyLUXpl289YbZ821ZRWGhNqGTPWlcUdaiViZ%2FfchDuEvWKWvhsSfISbgVHGPTEu+hg5kREBAOWDen5lbHivfV%2FoL9+ZqfjrLYEHjx%2FV38bLc1hPtsenHS9%2Fg6GTuBIArDie8iW7B17Ng9F0CoR1lOp1hobT6GobDh5bITw5ldWC%2FRnPZrNVHSiT1KS8zmbyvxTW8fHSwrpzDcW1MJZl+oes9NfuynO4nBIBDePmzw%2FTfk%2FlVrUEq2FHuLIMGb82ldTtlCfMfYsGhpNQiwNdPvbrQi82VE9w4oc+v0oe8F69gphoU2tCuo5T9VVNN9TrUuY+5uDKT7MSvSQQx4chQyvzfCrIKGF%2FNuFjc2hcFgcyE0rQ1vaqvCyKVJhZ9kVR1a2a+RAyaRy8yvRrsd88TMSAb76IKoCYuBYfdNKFErQb0WjhY3JiNT2VqyZh8fBvfZnEItPwG4r5bbdEPyliGkT7DxhnDfR%2FVB%2Ff7NCW0nubQpH7kZdDuvT08JHZOH%2FAhQwIvlBmTnFEHTGsowuL6KUIcKtWx19INBIdWYEULwbh95m9HIM8w6KssAjFbC9k4KeDkazZI5E8yWIEJhqo7S4kG1EjVkfslj904MF8v2L9RL9Mm26Ez2CR5mRgTOmwwF8MVP0J+WNp%2FCIUIXGqy+ck8XKEGWqRPtNutvPLxmKx%2FHGTON8zXaZdO%2Ff6hlKuIUEyRlEWVJVCKRJD4lf7PQAN%2FzKBGsR%2FOCG44ICSISbVCRg+wz6Bn8sX7rg6HLTaJ5AFqTTe11v1E9AJGDVA7whaz5uMKh4mF9BB3eSAC1pSe2t6biLXk9uMnp7BWJClR5tqmhWImlc49sFala8OP6Dj1BfEMol8KaAu2WcJAW15P%2F2Z7yNeH17XDH8fTO+a%2Fmd2ux4zK5ZoC68IoPihNpFYeQjblREY0ZXdwkwRr5ZqrjYBG57opT7Y5nttIE9mSgm%2FsNlMF%2FZ35ObxB4ZhFsqnQELC2ReRHCDMsyxij5XrhcilaVT4MNFNooyaFopOjnP5MHlVa1Mw%2FgNRscIWG3He1spf1AFYrFbkgWm4Rogc28nd146zjb8hOZCIQT3F5nYquLoulcn+jW4DQrO%2FlRRbQ9F0F2R0fWv4x9xwf4ytzCD74rFUuEkw6vhRYsaO53kHQZP9ElxDrXor6hAPYtCWpPrYpEKjUXJm57eVVqeWjfWO4VHFB8WpwYF%2Fv7FuGD0ffcMDYees%2FkFIFA+UETen%2FW%2FczLEBK5TjqVevN8NxUUYCF4jljjuUoX8el9CX1amQztTDPLj0u52DERdfkIcaunQTOGz2Tnr944Lwkt+t8YE1uxUk0KOKS9RIPdjbiX+lnU1WA%2FHE5bBh8A6OXxij%2FlY%2FMK5%2FiE5JaNPtcQ== -``` -The data is in the URL, and not in any server or device. **Remember**, if the url or password is lost, data cannot be recovered. - -## Credits - -Thanks to much to my CSS Grid teacher Sandra Laguna and to my professional beta testers [Pablo Duque](https://github.com/pabloduque0), [Mario Rodriguez](https://github.com/mapno), [Marcos Stival](https://github.com/mrksph), [Alberto Rojas](https://github.com/r0jasx) and [Manuel Méndez](https://www.linkedin.com/in/manuel-m%C3%A9ndez-garc%C3%ADa-0ba16316a/). \ No newline at end of file diff --git a/babel.config.js b/babel.config.js deleted file mode 100644 index e955840..0000000 --- a/babel.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - presets: [ - '@vue/cli-plugin-babel/preset' - ] -} diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index ea31035..0000000 --- a/package-lock.json +++ /dev/null @@ -1,27535 +0,0 @@ -{ - "name": "mykeys", - "version": "0.1.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "version": "0.1.0", - "dependencies": { - "@msgpack/msgpack": "^2.6.0", - "core-js": "^3.11.1", - "vue": "^2.6.12", - "vue-router": "^3.5.1" - }, - "devDependencies": { - "@vue/cli-plugin-babel": "~4.5.12", - "@vue/cli-plugin-eslint": "~4.5.12", - "@vue/cli-plugin-router": "~4.5.12", - "@vue/cli-service": "^4.5.12", - "babel-eslint": "^10.1.0", - "eslint": "^7.25.0", - "eslint-plugin-vue": "^7.9.0", - "vue-template-compiler": "^2.6.12" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.12.13.tgz", - "integrity": "sha1-3PyCa+72XnXFDiHTg319lXmN1lg=", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.12.13" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/compat-data/download/@babel/compat-data-7.13.12.tgz?cache=0&sync_timestamp=1616428111061&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcompat-data%2Fdownload%2F%40babel%2Fcompat-data-7.13.12.tgz", - "integrity": "sha1-qKXMrBnCAPndSWJMrG4Z174SNqE=", - "dev": true - }, - "node_modules/@babel/core": { - "version": "7.13.10", - "resolved": "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.13.10.tgz?cache=0&sync_timestamp=1615243069218&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.13.10.tgz", - "integrity": "sha1-B94FC72Bk/zYo8J5GMCJBhOpRVk=", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.9", - "@babel/helper-compilation-targets": "^7.13.10", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helpers": "^7.13.10", - "@babel/parser": "^7.13.10", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/generator": { - "version": "7.13.9", - "resolved": "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.13.9.tgz?cache=0&sync_timestamp=1614635095774&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.13.9.tgz", - "integrity": "sha1-Onqpb577jivkLTjYDizrTGTY3jk=", - "dev": true, - "dependencies": { - "@babel/types": "^7.13.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.12.13.tgz", - "integrity": "sha1-D1jobfxLs7H819uAZXDhd9Q5tqs=", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", - "integrity": "sha1-a8IDYciLCnTQUTemXKyNPL9vYfw=", - "dev": true, - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.13.10", - "resolved": "https://registry.npm.taobao.org/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.13.10.tgz?cache=0&sync_timestamp=1615243172515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-compilation-targets%2Fdownload%2F%40babel%2Fhelper-compilation-targets-7.13.10.tgz", - "integrity": "sha1-ExChZ4y4QnwHp1N1DaT4zkQr3Qw=", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.13.8", - "@babel/helper-validator-option": "^7.12.17", - "browserslist": "^4.14.5", - "semver": "^6.3.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.13.11", - "resolved": "https://registry.npm.taobao.org/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.13.11.tgz", - "integrity": "sha1-MNMKAFvKLJU/VlP8JQkaSSF39PY=", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-member-expression-to-functions": "^7.13.0", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.12.17", - "resolved": "https://registry.npm.taobao.org/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.12.17.tgz", - "integrity": "sha1-oqyH6eMZJprGVbjUQV6U041mPLc=", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "regexpu-core": "^4.7.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.1.5", - "resolved": "https://registry.npm.taobao.org/@babel/helper-define-polyfill-provider/download/@babel/helper-define-polyfill-provider-0.1.5.tgz?cache=0&sync_timestamp=1614675032908&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-define-polyfill-provider%2Fdownload%2F%40babel%2Fhelper-define-polyfill-provider-0.1.5.tgz", - "integrity": "sha1-PC+Rt5cbn8Ef53nJRcAUBl3qNA4=", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.13.0.tgz?cache=0&sync_timestamp=1614034288985&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-explode-assignable-expression%2Fdownload%2F%40babel%2Fhelper-explode-assignable-expression-7.13.0.tgz", - "integrity": "sha1-F7XFn/Rz2flW9A71cM86dsoSZX8=", - "dev": true, - "dependencies": { - "@babel/types": "^7.13.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.12.13.tgz?cache=0&sync_timestamp=1612314730700&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-function-name%2Fdownload%2F%40babel%2Fhelper-function-name-7.12.13.tgz", - "integrity": "sha1-k61lbbPDwiMlWf17LD29y+DrN3o=", - "dev": true, - "dependencies": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha1-vGNFHUA6OzCCuX4diz/lvUCR5YM=", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.13.0.tgz?cache=0&sync_timestamp=1614034242956&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-hoist-variables%2Fdownload%2F%40babel%2Fhelper-hoist-variables-7.13.0.tgz", - "integrity": "sha1-XViC6FW1xe2pHgytwmxueiyFk9g=", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.13.12.tgz?cache=0&sync_timestamp=1616428120148&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-member-expression-to-functions%2Fdownload%2F%40babel%2Fhelper-member-expression-to-functions-7.13.12.tgz", - "integrity": "sha1-3+No8m1CagcpnY1lE4IXaCFubXI=", - "dev": true, - "dependencies": { - "@babel/types": "^7.13.12" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.13.12.tgz", - "integrity": "sha1-xqNppvNiHLJdoBQHhoTakZa2GXc=", - "dev": true, - "dependencies": { - "@babel/types": "^7.13.12" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.13.12.tgz?cache=0&sync_timestamp=1616428208375&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.13.12.tgz", - "integrity": "sha1-YA5YNQSQgo2CKCYxoUIiaOmCupY=", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-replace-supers": "^7.13.12", - "@babel/helper-simple-access": "^7.13.12", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/helper-validator-identifier": "^7.12.11", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.12" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.12.13.tgz", - "integrity": "sha1-XALRcbTIYVsecWP4iMHIHDCiquo=", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.13.0.tgz?cache=0&sync_timestamp=1614034264835&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-plugin-utils%2Fdownload%2F%40babel%2Fhelper-plugin-utils-7.13.0.tgz", - "integrity": "sha1-gGUmzhJa7QM3O8QWqCgyHjpqM68=", - "dev": true - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.13.0.tgz", - "integrity": "sha1-N2p2DZ97SyB3qd0Fqpw5J8rbIgk=", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-wrap-function": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.13.12.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-replace-supers%2Fdownload%2F%40babel%2Fhelper-replace-supers-7.13.12.tgz", - "integrity": "sha1-ZEL0wa2RJQJIGlZKc4beDHf/OAQ=", - "dev": true, - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.13.12", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.12" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.13.12.tgz?cache=0&sync_timestamp=1616428111369&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-simple-access%2Fdownload%2F%40babel%2Fhelper-simple-access-7.13.12.tgz", - "integrity": "sha1-3WxTivthgZ0gWgEsMXkqOcel6vY=", - "dev": true, - "dependencies": { - "@babel/types": "^7.13.12" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npm.taobao.org/@babel/helper-skip-transparent-expression-wrappers/download/@babel/helper-skip-transparent-expression-wrappers-7.12.1.tgz?cache=0&sync_timestamp=1602800051450&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-skip-transparent-expression-wrappers%2Fdownload%2F%40babel%2Fhelper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha1-Ri3GOn5DWt6EaDhcY9K4TM5LPL8=", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.1" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha1-6UML4AuvPoiw4T5vnU6vITY3KwU=", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.12.11.tgz?cache=0&sync_timestamp=1608076851017&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.12.11.tgz", - "integrity": "sha1-yaHwIZF9y1zPDU5FPjmQIpgfye0=", - "dev": true - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.12.17", - "resolved": "https://registry.npm.taobao.org/@babel/helper-validator-option/download/@babel/helper-validator-option-7.12.17.tgz", - "integrity": "sha1-0fvwEuGnm37rv9xtJwuq+NnrmDE=", - "dev": true - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.13.0.tgz?cache=0&sync_timestamp=1614034295470&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-wrap-function%2Fdownload%2F%40babel%2Fhelper-wrap-function-7.13.0.tgz", - "integrity": "sha1-vbXGb9qFJuwjWriUrVOhI1x5/MQ=", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.13.10", - "resolved": "https://registry.npm.taobao.org/@babel/helpers/download/@babel/helpers-7.13.10.tgz?cache=0&sync_timestamp=1615243064836&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelpers%2Fdownload%2F%40babel%2Fhelpers-7.13.10.tgz", - "integrity": "sha1-/Y4rp0iFM83qxFzBWOnryl48ffg=", - "dev": true, - "dependencies": { - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.13.10.tgz?cache=0&sync_timestamp=1615243065645&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.13.10.tgz", - "integrity": "sha1-qLKmYUj1sn1maxXYF3Q0enMdUtE=", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.13.12.tgz", - "integrity": "sha1-ujIAWUIHdDlNOwwCM7pA5CULgdE=", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/download/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz?cache=0&sync_timestamp=1616428234838&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-bugfix-v8-spread-parameters-in-optional-chaining%2Fdownload%2F%40babel%2Fplugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz", - "integrity": "sha1-o0hNhNC1SfP8kWuZ7keD8m+rrSo=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.13.12" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.13.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.13.8.tgz?cache=0&sync_timestamp=1614383147950&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-async-generator-functions%2Fdownload%2F%40babel%2Fplugin-proposal-async-generator-functions-7.13.8.tgz", - "integrity": "sha1-h6rLV0s7xLVgP2/kFFjXKlouxLE=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.13.0.tgz?cache=0&sync_timestamp=1614034278413&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-class-properties%2Fdownload%2F%40babel%2Fplugin-proposal-class-properties-7.13.0.tgz", - "integrity": "sha1-FGN2AAuU79AB5XpAqIpSWvqrnzc=", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.13.5", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.13.5.tgz", - "integrity": "sha1-0oBxRXpbqO4TlLI+ONXc8y6iDvc=", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-decorators": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.13.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.13.8.tgz?cache=0&sync_timestamp=1614383147594&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-dynamic-import%2Fdownload%2F%40babel%2Fplugin-proposal-dynamic-import-7.13.8.tgz", - "integrity": "sha1-h2ofaWbh3sMy6MlFGv2jvrzfLh0=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.12.13.tgz?cache=0&sync_timestamp=1612314818045&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-export-namespace-from%2Fdownload%2F%40babel%2Fplugin-proposal-export-namespace-from-7.12.13.tgz", - "integrity": "sha1-OTvkekrNA/oq9uPN6bBuM94bRG0=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.13.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.13.8.tgz?cache=0&sync_timestamp=1614383148225&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-json-strings%2Fdownload%2F%40babel%2Fplugin-proposal-json-strings-7.13.8.tgz", - "integrity": "sha1-vx+zYlRwda/aNjTtMVccWQGv73s=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.13.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.13.8.tgz?cache=0&sync_timestamp=1614383123641&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-logical-assignment-operators%2Fdownload%2F%40babel%2Fplugin-proposal-logical-assignment-operators-7.13.8.tgz", - "integrity": "sha1-k/p41jhXxAzjyMMxUiD9AL+7Tho=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.13.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz?cache=0&sync_timestamp=1614383148702&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator%2Fdownload%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator-7.13.8.tgz", - "integrity": "sha1-NzCjHa/TwQ2MzRBkjtgKKsVHLvM=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.12.13.tgz?cache=0&sync_timestamp=1612314818336&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-numeric-separator%2Fdownload%2F%40babel%2Fplugin-proposal-numeric-separator-7.12.13.tgz", - "integrity": "sha1-vZ2jGI54e1EgtPnUZagmHOZ+0ds=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.13.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.13.8.tgz?cache=0&sync_timestamp=1614383131892&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-object-rest-spread%2Fdownload%2F%40babel%2Fplugin-proposal-object-rest-spread-7.13.8.tgz", - "integrity": "sha1-XSEKTXJ9bOOxj53oLMmaOWTu1go=", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.13.8", - "@babel/helper-compilation-targets": "^7.13.8", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.13.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.13.8.tgz?cache=0&sync_timestamp=1614383148865&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-optional-catch-binding%2Fdownload%2F%40babel%2Fplugin-proposal-optional-catch-binding-7.13.8.tgz", - "integrity": "sha1-Ota9WQFQbqmW/DG9zzzPor7XEQc=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.13.12.tgz?cache=0&sync_timestamp=1616428110827&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-optional-chaining%2Fdownload%2F%40babel%2Fplugin-proposal-optional-chaining-7.13.12.tgz", - "integrity": "sha1-up/rYB1CLgrepnYMK9a7t7/sSGY=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.13.0.tgz", - "integrity": "sha1-BL1MbUD25rv6L1fi2AlLrZAO94c=", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.12.13.tgz", - "integrity": "sha1-vr3lEzm+gpwXqqrO0YZB3rYrObo=", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha1-qYP7Gusuw/btBCohD2QOkOeG/g0=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.12.13.tgz?cache=0&sync_timestamp=1612314818069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-class-properties%2Fdownload%2F%40babel%2Fplugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha1-tcmHJ0xKOoK4lxR5aTGmtTVErhA=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-decorators/download/@babel/plugin-syntax-decorators-7.12.13.tgz", - "integrity": "sha1-+sgpvzx+9KG8kWJXtAPljGva9kg=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-export-namespace-from/download/@babel/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha1-AolkqbqA28CUyRXEh618TnpmRlo=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.12.13.tgz?cache=0&sync_timestamp=1612314725554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-jsx%2Fdownload%2F%40babel%2Fplugin-syntax-jsx-7.12.13.tgz", - "integrity": "sha1-BE+4HrrWaY/mLEeIdVdby7m3DxU=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-logical-assignment-operators/download/@babel/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha1-ypHvRjA1MESLkGZSusLp/plB9pk=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz?cache=0&sync_timestamp=1593521722382&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-numeric-separator%2Fdownload%2F%40babel%2Fplugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha1-YRGiZbz7Ag6579D9/X0mQCue1sE=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.12.13.tgz?cache=0&sync_timestamp=1612314725861&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-top-level-await%2Fdownload%2F%40babel%2Fplugin-syntax-top-level-await-7.12.13.tgz", - "integrity": "sha1-xfD6biSfW3OXJ/kjVAz3qAYTAXg=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.13.0.tgz", - "integrity": "sha1-EKWb661S1jegJ6+mkujVzv9ePa4=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.13.0.tgz", - "integrity": "sha1-jhEr9ncbgr8el05eJoBsXJmqUW8=", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.12.13.tgz?cache=0&sync_timestamp=1612314725922&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoped-functions%2Fdownload%2F%40babel%2Fplugin-transform-block-scoped-functions-7.12.13.tgz", - "integrity": "sha1-qb8YNvKjm062zwmWdzneKepL9MQ=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.12.13.tgz?cache=0&sync_timestamp=1612314728153&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoping%2Fdownload%2F%40babel%2Fplugin-transform-block-scoping-7.12.13.tgz", - "integrity": "sha1-825VB20G9B39eFV+oDnBtYFkLmE=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.13.0.tgz", - "integrity": "sha1-AmUVUHXEKRi/TTpAUxNBdq2bUzs=", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13", - "globals": "^11.1.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.13.0.tgz", - "integrity": "sha1-hFxui5u1U3ax+guS7wvcjqBmRO0=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.13.0.tgz", - "integrity": "sha1-xdzicAFNTh67HYBhFmlMErcCiWM=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.12.13.tgz?cache=0&sync_timestamp=1612314730663&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-dotall-regex%2Fdownload%2F%40babel%2Fplugin-transform-dotall-regex-7.12.13.tgz", - "integrity": "sha1-PxYBzCmQW/y2f1ORDxl66v67Ja0=", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.12.13.tgz?cache=0&sync_timestamp=1612314726608&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-duplicate-keys%2Fdownload%2F%40babel%2Fplugin-transform-duplicate-keys-7.12.13.tgz", - "integrity": "sha1-bwa4eouAP9ko5UuBwljwoAM5BN4=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.12.13.tgz?cache=0&sync_timestamp=1612314730682&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-exponentiation-operator%2Fdownload%2F%40babel%2Fplugin-transform-exponentiation-operator-7.12.13.tgz", - "integrity": "sha1-TVI5C5onPmUeSrpq7knvQOgM0KE=", - "dev": true, - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.13.0.tgz?cache=0&sync_timestamp=1614034276697&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-for-of%2Fdownload%2F%40babel%2Fplugin-transform-for-of-7.13.0.tgz", - "integrity": "sha1-x5n4gagJGsJrVIZ6hFw+l9JpYGI=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.12.13.tgz?cache=0&sync_timestamp=1612314730751&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-function-name%2Fdownload%2F%40babel%2Fplugin-transform-function-name-7.12.13.tgz", - "integrity": "sha1-uwJEUvmq7YYdN0yOeiQlLOOlAFE=", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.12.13.tgz?cache=0&sync_timestamp=1612314725912&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-literals%2Fdownload%2F%40babel%2Fplugin-transform-literals-7.12.13.tgz", - "integrity": "sha1-LKRbr+SoIBl88xV5Sk0mVg/kvbk=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.12.13.tgz?cache=0&sync_timestamp=1612314726040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-member-expression-literals%2Fdownload%2F%40babel%2Fplugin-transform-member-expression-literals-7.12.13.tgz", - "integrity": "sha1-X/pmzVm54ZExTJ8fgDuTjowIHkA=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.13.0.tgz", - "integrity": "sha1-GfUR1g49h1PMWm1Od106UYSGbMM=", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.13.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.13.8.tgz?cache=0&sync_timestamp=1614383149905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-commonjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-commonjs-7.13.8.tgz", - "integrity": "sha1-ewGtfC3PInWwb6F4HgDRPUILPhs=", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-simple-access": "^7.12.13", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.13.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.13.8.tgz?cache=0&sync_timestamp=1614383149112&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-systemjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-systemjs-7.13.8.tgz", - "integrity": "sha1-bQZu4r/zx7PWC/KN7Baa2ZODGuM=", - "dev": true, - "dependencies": { - "@babel/helper-hoist-variables": "^7.13.0", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-identifier": "^7.12.11", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.13.0.tgz", - "integrity": "sha1-ij2WqX0ZlwW5/QIVgAgq+BwG5ws=", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.12.13.tgz?cache=0&sync_timestamp=1612314730683&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-named-capturing-groups-regex%2Fdownload%2F%40babel%2Fplugin-transform-named-capturing-groups-regex-7.12.13.tgz", - "integrity": "sha1-IhNyWl9bu+NktQw7pZmMlZnFydk=", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.12.13.tgz?cache=0&sync_timestamp=1612314725988&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-new-target%2Fdownload%2F%40babel%2Fplugin-transform-new-target-7.12.13.tgz", - "integrity": "sha1-4i2MOvJLFQ3VKMvW5oXnmb8cNRw=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.12.13.tgz?cache=0&sync_timestamp=1612314740228&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-object-super%2Fdownload%2F%40babel%2Fplugin-transform-object-super-7.12.13.tgz", - "integrity": "sha1-tEFqLWO4974xTz00m9VanBtRcfc=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-replace-supers": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.13.0.tgz", - "integrity": "sha1-j6dgPjCX+cC3yhpIIbwvtS6eUAc=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.12.13.tgz?cache=0&sync_timestamp=1612314726170&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-property-literals%2Fdownload%2F%40babel%2Fplugin-transform-property-literals-7.12.13.tgz", - "integrity": "sha1-TmqeN4ZNjxs7wOLc57+IV9uLGoE=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.12.13.tgz", - "integrity": "sha1-tii8ychSYKwa6wW0W94lIQGUovU=", - "dev": true, - "dependencies": { - "regenerator-transform": "^0.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.12.13.tgz?cache=0&sync_timestamp=1612314730815&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-reserved-words%2Fdownload%2F%40babel%2Fplugin-transform-reserved-words-7.12.13.tgz", - "integrity": "sha1-fZmI1PBuD+aX6h2YAxiKoYtHJpU=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.13.10", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.13.10.tgz?cache=0&sync_timestamp=1615243067476&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-runtime%2Fdownload%2F%40babel%2Fplugin-transform-runtime-7.13.10.tgz", - "integrity": "sha1-oeQNIuK/VwxZHJx+WrQta/HkGeE=", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "babel-plugin-polyfill-corejs2": "^0.1.4", - "babel-plugin-polyfill-corejs3": "^0.1.3", - "babel-plugin-polyfill-regenerator": "^0.1.2", - "semver": "^6.3.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.12.13.tgz?cache=0&sync_timestamp=1612314730318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-shorthand-properties%2Fdownload%2F%40babel%2Fplugin-transform-shorthand-properties-7.12.13.tgz", - "integrity": "sha1-23VXMrcMU51QTGOQ2c6Q/mSv960=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.13.0.tgz", - "integrity": "sha1-hIh3EOJzwYFaznrkWfb0Kl0x1f0=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.12.13.tgz?cache=0&sync_timestamp=1612314730317&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-sticky-regex%2Fdownload%2F%40babel%2Fplugin-transform-sticky-regex-7.12.13.tgz", - "integrity": "sha1-dg/9k2+s5z+GCuZG+4bugvPQbR8=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.13.0.tgz", - "integrity": "sha1-o2BJEnl3rZRDje50Q1mNHO/fQJ0=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.12.13.tgz?cache=0&sync_timestamp=1612314730347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-typeof-symbol%2Fdownload%2F%40babel%2Fplugin-transform-typeof-symbol-7.12.13.tgz", - "integrity": "sha1-eF3Weh8upXnZwr5yLejITLhfWn8=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.12.13.tgz?cache=0&sync_timestamp=1612314730331&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-unicode-escapes%2Fdownload%2F%40babel%2Fplugin-transform-unicode-escapes-7.12.13.tgz", - "integrity": "sha1-hAztO4FtO1En3R0S3O3F3q0aXnQ=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.12.13.tgz?cache=0&sync_timestamp=1612314730902&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-unicode-regex%2Fdownload%2F%40babel%2Fplugin-transform-unicode-regex-7.12.13.tgz", - "integrity": "sha1-tSUhaFgE4VWxIC6D/BiNNLtw9aw=", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.13.12.tgz?cache=0&sync_timestamp=1616428208971&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fpreset-env%2Fdownload%2F%40babel%2Fpreset-env-7.13.12.tgz", - "integrity": "sha1-bf9HBHgpBYKsKC+3d4Dq3zJIAjc=", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.13.12", - "@babel/helper-compilation-targets": "^7.13.10", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-option": "^7.12.17", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-async-generator-functions": "^7.13.8", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-dynamic-import": "^7.13.8", - "@babel/plugin-proposal-export-namespace-from": "^7.12.13", - "@babel/plugin-proposal-json-strings": "^7.13.8", - "@babel/plugin-proposal-logical-assignment-operators": "^7.13.8", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-numeric-separator": "^7.12.13", - "@babel/plugin-proposal-object-rest-spread": "^7.13.8", - "@babel/plugin-proposal-optional-catch-binding": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-private-methods": "^7.13.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.12.13", - "@babel/plugin-transform-arrow-functions": "^7.13.0", - "@babel/plugin-transform-async-to-generator": "^7.13.0", - "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.12.13", - "@babel/plugin-transform-classes": "^7.13.0", - "@babel/plugin-transform-computed-properties": "^7.13.0", - "@babel/plugin-transform-destructuring": "^7.13.0", - "@babel/plugin-transform-dotall-regex": "^7.12.13", - "@babel/plugin-transform-duplicate-keys": "^7.12.13", - "@babel/plugin-transform-exponentiation-operator": "^7.12.13", - "@babel/plugin-transform-for-of": "^7.13.0", - "@babel/plugin-transform-function-name": "^7.12.13", - "@babel/plugin-transform-literals": "^7.12.13", - "@babel/plugin-transform-member-expression-literals": "^7.12.13", - "@babel/plugin-transform-modules-amd": "^7.13.0", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/plugin-transform-modules-systemjs": "^7.13.8", - "@babel/plugin-transform-modules-umd": "^7.13.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", - "@babel/plugin-transform-new-target": "^7.12.13", - "@babel/plugin-transform-object-super": "^7.12.13", - "@babel/plugin-transform-parameters": "^7.13.0", - "@babel/plugin-transform-property-literals": "^7.12.13", - "@babel/plugin-transform-regenerator": "^7.12.13", - "@babel/plugin-transform-reserved-words": "^7.12.13", - "@babel/plugin-transform-shorthand-properties": "^7.12.13", - "@babel/plugin-transform-spread": "^7.13.0", - "@babel/plugin-transform-sticky-regex": "^7.12.13", - "@babel/plugin-transform-template-literals": "^7.13.0", - "@babel/plugin-transform-typeof-symbol": "^7.12.13", - "@babel/plugin-transform-unicode-escapes": "^7.12.13", - "@babel/plugin-transform-unicode-regex": "^7.12.13", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.13.12", - "babel-plugin-polyfill-corejs2": "^0.1.4", - "babel-plugin-polyfill-corejs3": "^0.1.3", - "babel-plugin-polyfill-regenerator": "^0.1.2", - "core-js-compat": "^3.9.0", - "semver": "^6.3.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/@babel/preset-modules/download/@babel/preset-modules-0.1.4.tgz", - "integrity": "sha1-Ni8raMZihClw/bXiVP/I/BwuQV4=", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.13.10", - "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.13.10.tgz?cache=0&sync_timestamp=1615243066705&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.13.10.tgz", - "integrity": "sha1-R9QqV7YJX0Ro2kQDiP262L6/DX0=", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.13.4" - } - }, - "node_modules/@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.12.13.tgz?cache=0&sync_timestamp=1612314730561&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.12.13.tgz", - "integrity": "sha1-UwJlvooliduzdSOETFvLVZR/syc=", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/traverse": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.13.0.tgz?cache=0&sync_timestamp=1614034259562&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.13.0.tgz", - "integrity": "sha1-bZV1JHX4bufe0GU23jCaZfyJZsw=", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.0", - "@babel/types": "^7.13.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "node_modules/@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.13.12.tgz", - "integrity": "sha1-7b+ZII70iFKs3/HIpoGh5K3lgM0=", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", - "integrity": "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@hapi/address": { - "version": "2.1.4", - "resolved": "https://registry.npm.taobao.org/@hapi/address/download/@hapi/address-2.1.4.tgz?cache=0&sync_timestamp=1603524710662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Faddress%2Fdownload%2F%40hapi%2Faddress-2.1.4.tgz", - "integrity": "sha1-XWftQ/P9QaadS5/3tW58DR0KgeU=", - "deprecated": "This version has been deprecated and is no longer supported or maintained", - "dev": true - }, - "node_modules/@hapi/bourne": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/@hapi/bourne/download/@hapi/bourne-1.3.2.tgz", - "integrity": "sha1-CnCVreoGckPOMoPhtWuKj0U7JCo=", - "dev": true - }, - "node_modules/@hapi/hoek": { - "version": "8.5.1", - "resolved": "https://registry.npm.taobao.org/@hapi/hoek/download/@hapi/hoek-8.5.1.tgz?cache=0&sync_timestamp=1609087042424&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Fhoek%2Fdownload%2F%40hapi%2Fhoek-8.5.1.tgz", - "integrity": "sha1-/elgZMpEbeyMVajC8TCVewcMbgY=", - "deprecated": "This version has been deprecated and is no longer supported or maintained", - "dev": true - }, - "node_modules/@hapi/joi": { - "version": "15.1.1", - "resolved": "https://registry.npm.taobao.org/@hapi/joi/download/@hapi/joi-15.1.1.tgz", - "integrity": "sha1-xnW4pxKW8Cgz+NbSQ7NMV7jOGdc=", - "deprecated": "joi is leaving the @hapi organization and moving back to 'joi' (https://github.com/sideway/joi/issues/2411)", - "dev": true, - "dependencies": { - "@hapi/address": "2.x.x", - "@hapi/bourne": "1.x.x", - "@hapi/hoek": "8.x.x", - "@hapi/topo": "3.x.x" - } - }, - "node_modules/@hapi/topo": { - "version": "3.1.6", - "resolved": "https://registry.npm.taobao.org/@hapi/topo/download/@hapi/topo-3.1.6.tgz", - "integrity": "sha1-aNk1+j6uf91asNf5U/MgXYsr/Ck=", - "dev": true, - "dependencies": { - "@hapi/hoek": "^8.3.0" - } - }, - "node_modules/@intervolga/optimize-cssnano-plugin": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/@intervolga/optimize-cssnano-plugin/download/@intervolga/optimize-cssnano-plugin-1.0.6.tgz", - "integrity": "sha1-vnx4RhKLiPapsdEmGgrQbrXA/fg=", - "dev": true, - "dependencies": { - "cssnano": "^4.0.0", - "cssnano-preset-default": "^4.0.0", - "postcss": "^7.0.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz", - "integrity": "sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4=", - "dev": true, - "dependencies": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@msgpack/msgpack": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-2.6.0.tgz", - "integrity": "sha512-CbKEhARMPl/CYNhIs4p0NgoNWspUQP45QxZoJ433ydSd2HTfzQ4WQyEpViJkEHKkRcPbV72FlFf3gtD9frzKTg==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz", - "integrity": "sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@soda/friendly-errors-webpack-plugin": { - "version": "1.8.0", - "resolved": "https://registry.npm.taobao.org/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.8.0.tgz?cache=0&sync_timestamp=1607927632152&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40soda%2Ffriendly-errors-webpack-plugin%2Fdownload%2F%40soda%2Ffriendly-errors-webpack-plugin-1.8.0.tgz", - "integrity": "sha1-hHUdgqkwGdXJLAzw5FrFkIfNIkA=", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "error-stack-parser": "^2.0.2", - "string-width": "^2.0.0", - "strip-ansi": "^5" - }, - "engines": { - "node": ">=8.0.0" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/@soda/get-current-script": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@soda/get-current-script/-/get-current-script-1.0.2.tgz", - "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", - "dev": true - }, - "node_modules/@types/anymatch": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", - "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", - "dev": true - }, - "node_modules/@types/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==", - "dev": true, - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.34", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz", - "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.4.tgz", - "integrity": "sha512-Kf8v0wljR5GSCOCF/VQWdV3ZhKOVA73drXtY3geMTQgHy9dgqQ0dLrf31M0hcuWkhFzK5sP0kkS3mJzcKVtZbw==", - "dev": true, - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "node_modules/@types/express": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz", - "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==", - "dev": true, - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.19.tgz", - "integrity": "sha512-DJOSHzX7pCiSElWaGR8kCprwibCB/3yW6vcT8VG3P0SJjnv19gnWG/AZMfM60Xj/YJIp/YCaDHyvzsFVeniARA==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "node_modules/@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.3.tgz?cache=0&sync_timestamp=1613378758886&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fglob%2Fdownload%2F%40types%2Fglob-7.1.3.tgz", - "integrity": "sha1-5rqA82t9qtLGhazZJmOC5omFwYM=", - "dev": true, - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/http-proxy": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.5.tgz", - "integrity": "sha512-GNkDE7bTv6Sf8JbV2GksknKOsk7OznNYHSdrtvPJXO0qJ9odZig6IZKUi5RFGi6d1bf6dgIAe4uXi3DBc7069Q==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.7.tgz", - "integrity": "sha1-mKmTUWyFnrDVxMjwmDF6nqaNua0=", - "dev": true - }, - "node_modules/@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", - "dev": true - }, - "node_modules/@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz", - "integrity": "sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0=", - "dev": true - }, - "node_modules/@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", - "dev": true - }, - "node_modules/@types/node": { - "version": "14.14.35", - "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-14.14.35.tgz?cache=0&sync_timestamp=1615834803874&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.14.35.tgz", - "integrity": "sha1-QslTpOKxirkx9yR35wEhcvT/oxM=", - "dev": true - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npm.taobao.org/@types/normalize-package-data/download/@types/normalize-package-data-2.4.0.tgz", - "integrity": "sha1-5IbQ2XOW15vu3QpuM/RTT/a0lz4=", - "dev": true - }, - "node_modules/@types/q": { - "version": "1.5.4", - "resolved": "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.4.tgz", - "integrity": "sha1-FZJUFOCtLNdlv+9YhC9+JqesyyQ=", - "dev": true - }, - "node_modules/@types/qs": { - "version": "6.9.6", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.6.tgz", - "integrity": "sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA==", - "dev": true - }, - "node_modules/@types/range-parser": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", - "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==", - "dev": true - }, - "node_modules/@types/serve-static": { - "version": "1.13.9", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz", - "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==", - "dev": true, - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true - }, - "node_modules/@types/tapable": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.7.tgz", - "integrity": "sha512-0VBprVqfgFD7Ehb2vd8Lh9TG3jP98gvr8rgehQqzztZNI7o8zS8Ad4jyZneKELphpuE212D8J70LnSNQSyO6bQ==", - "dev": true - }, - "node_modules/@types/uglify-js": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.0.tgz", - "integrity": "sha512-EGkrJD5Uy+Pg0NUR8uA4bJ5WMfljyad0G+784vLCNUkD+QwOJXUbBYExXfVGf7YtyzdQp3L/XMYcliB987kL5Q==", - "dev": true, - "dependencies": { - "source-map": "^0.6.1" - } - }, - "node_modules/@types/uglify-js/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@types/webpack": { - "version": "4.41.27", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.27.tgz", - "integrity": "sha512-wK/oi5gcHi72VMTbOaQ70VcDxSQ1uX8S2tukBK9ARuGXrYM/+u4ou73roc7trXDNmCxCoerE8zruQqX/wuHszA==", - "dev": true, - "dependencies": { - "@types/anymatch": "*", - "@types/node": "*", - "@types/tapable": "^1", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "source-map": "^0.6.0" - } - }, - "node_modules/@types/webpack-dev-server": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/@types/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz", - "integrity": "sha512-p9B/QClflreKDeamKhBwuo5zqtI++wwb9QNG/CdIZUFtHvtaq0dWVgbtV7iMl4Sr4vWzEFj0rn16pgUFANjLPA==", - "dev": true, - "dependencies": { - "@types/connect-history-api-fallback": "*", - "@types/express": "*", - "@types/serve-static": "*", - "@types/webpack": "^4", - "http-proxy-middleware": "^1.0.0" - } - }, - "node_modules/@types/webpack-sources": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz", - "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - } - }, - "node_modules/@types/webpack-sources/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@types/webpack/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@vue/babel-helper-vue-jsx-merge-props": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.2.1.tgz?cache=0&sync_timestamp=1602851197289&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-helper-vue-jsx-merge-props%2Fdownload%2F%40vue%2Fbabel-helper-vue-jsx-merge-props-1.2.1.tgz", - "integrity": "sha1-MWJKelBfsU2h1YAjclpMXycOaoE=", - "dev": true - }, - "node_modules/@vue/babel-helper-vue-transform-on": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/@vue/babel-helper-vue-transform-on/download/@vue/babel-helper-vue-transform-on-1.0.2.tgz?cache=0&sync_timestamp=1610812350571&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-helper-vue-transform-on%2Fdownload%2F%40vue%2Fbabel-helper-vue-transform-on-1.0.2.tgz", - "integrity": "sha1-m5xpHNBvyFUiGiR1w8yDHXdLx9w=", - "dev": true - }, - "node_modules/@vue/babel-plugin-jsx": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/@vue/babel-plugin-jsx/download/@vue/babel-plugin-jsx-1.0.3.tgz?cache=0&sync_timestamp=1612619912063&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-plugin-jsx%2Fdownload%2F%40vue%2Fbabel-plugin-jsx-1.0.3.tgz", - "integrity": "sha1-rV7obryfxAkArdmRRTTiI8cZ6s4=", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.0.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.0.0", - "@babel/types": "^7.0.0", - "@vue/babel-helper-vue-transform-on": "^1.0.2", - "camelcase": "^6.0.0", - "html-tags": "^3.1.0", - "svg-tags": "^1.0.0" - } - }, - "node_modules/@vue/babel-plugin-transform-vue-jsx": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/@vue/babel-plugin-transform-vue-jsx/download/@vue/babel-plugin-transform-vue-jsx-1.2.1.tgz?cache=0&sync_timestamp=1602851197462&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-plugin-transform-vue-jsx%2Fdownload%2F%40vue%2Fbabel-plugin-transform-vue-jsx-1.2.1.tgz", - "integrity": "sha1-ZGBGxlLC8CQnJ/NFGdkXsGQEHtc=", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", - "html-tags": "^2.0.0", - "lodash.kebabcase": "^4.1.1", - "svg-tags": "^1.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@vue/babel-plugin-transform-vue-jsx/node_modules/html-tags": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-2.0.0.tgz", - "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@vue/babel-preset-app": { - "version": "4.5.12", - "resolved": "https://registry.npm.taobao.org/@vue/babel-preset-app/download/@vue/babel-preset-app-4.5.12.tgz", - "integrity": "sha1-w6I88z9uXqMFNvE8D5sfx+AoscE=", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.0", - "@babel/helper-compilation-targets": "^7.9.6", - "@babel/helper-module-imports": "^7.8.3", - "@babel/plugin-proposal-class-properties": "^7.8.3", - "@babel/plugin-proposal-decorators": "^7.8.3", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-jsx": "^7.8.3", - "@babel/plugin-transform-runtime": "^7.11.0", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.0", - "@vue/babel-plugin-jsx": "^1.0.3", - "@vue/babel-preset-jsx": "^1.2.4", - "babel-plugin-dynamic-import-node": "^2.3.3", - "core-js": "^3.6.5", - "core-js-compat": "^3.6.5", - "semver": "^6.1.0" - }, - "peerDependencies": { - "@babel/core": "*", - "core-js": "^3", - "vue": "^2 || ^3.0.0-0" - } - }, - "node_modules/@vue/babel-preset-jsx": { - "version": "1.2.4", - "resolved": "https://registry.npm.taobao.org/@vue/babel-preset-jsx/download/@vue/babel-preset-jsx-1.2.4.tgz?cache=0&sync_timestamp=1603806784269&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-preset-jsx%2Fdownload%2F%40vue%2Fbabel-preset-jsx-1.2.4.tgz", - "integrity": "sha1-kv6nnbbxOwHoDToAmeKSS9y+Toc=", - "dev": true, - "dependencies": { - "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", - "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", - "@vue/babel-sugar-composition-api-inject-h": "^1.2.1", - "@vue/babel-sugar-composition-api-render-instance": "^1.2.4", - "@vue/babel-sugar-functional-vue": "^1.2.2", - "@vue/babel-sugar-inject-h": "^1.2.2", - "@vue/babel-sugar-v-model": "^1.2.3", - "@vue/babel-sugar-v-on": "^1.2.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@vue/babel-sugar-composition-api-inject-h": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-composition-api-inject-h/download/@vue/babel-sugar-composition-api-inject-h-1.2.1.tgz?cache=0&sync_timestamp=1602851197056&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-composition-api-inject-h%2Fdownload%2F%40vue%2Fbabel-sugar-composition-api-inject-h-1.2.1.tgz", - "integrity": "sha1-BdbgxDJxDjdYKyvppgSbaJtvA+s=", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-jsx": "^7.2.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@vue/babel-sugar-composition-api-render-instance": { - "version": "1.2.4", - "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-composition-api-render-instance/download/@vue/babel-sugar-composition-api-render-instance-1.2.4.tgz?cache=0&sync_timestamp=1603806797927&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-composition-api-render-instance%2Fdownload%2F%40vue%2Fbabel-sugar-composition-api-render-instance-1.2.4.tgz", - "integrity": "sha1-5MvGmXw0T6wnF4WteikyXFHWjRk=", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-jsx": "^7.2.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@vue/babel-sugar-functional-vue": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-functional-vue/download/@vue/babel-sugar-functional-vue-1.2.2.tgz?cache=0&sync_timestamp=1602929497838&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-functional-vue%2Fdownload%2F%40vue%2Fbabel-sugar-functional-vue-1.2.2.tgz", - "integrity": "sha1-JnqayNeHyW7b8Dzj85LEnam9Jlg=", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-jsx": "^7.2.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@vue/babel-sugar-inject-h": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-inject-h/download/@vue/babel-sugar-inject-h-1.2.2.tgz", - "integrity": "sha1-1zjTyJM2fshJHcu2abAAkZKT46o=", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-jsx": "^7.2.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@vue/babel-sugar-v-model": { - "version": "1.2.3", - "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-v-model/download/@vue/babel-sugar-v-model-1.2.3.tgz?cache=0&sync_timestamp=1603182468308&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-v-model%2Fdownload%2F%40vue%2Fbabel-sugar-v-model-1.2.3.tgz", - "integrity": "sha1-+h8pulHr8KoabDX6ZtU5vEWaGPI=", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", - "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", - "camelcase": "^5.0.0", - "html-tags": "^2.0.0", - "svg-tags": "^1.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@vue/babel-sugar-v-model/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603921779318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz", - "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/babel-sugar-v-model/node_modules/html-tags": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-2.0.0.tgz", - "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@vue/babel-sugar-v-on": { - "version": "1.2.3", - "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-v-on/download/@vue/babel-sugar-v-on-1.2.3.tgz?cache=0&sync_timestamp=1603182019525&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-v-on%2Fdownload%2F%40vue%2Fbabel-sugar-v-on-1.2.3.tgz", - "integrity": "sha1-NCNnF4WGpp85LwS/ujICHQKROto=", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", - "camelcase": "^5.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@vue/babel-sugar-v-on/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603921779318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz", - "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vue/cli-overlay": { - "version": "4.5.12", - "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.12.tgz", - "integrity": "sha512-dCN0RzVpA8fp+MfjuVBROgM483MPObAb/je+APE/JhpCJyPQORYQEvNpmaorpN+9Cp6mrESVSzhh0qD4SFrlzg==", - "dev": true - }, - "node_modules/@vue/cli-plugin-babel": { - "version": "4.5.12", - "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-babel/download/@vue/cli-plugin-babel-4.5.12.tgz", - "integrity": "sha1-yXN9QHlIXOm+B8RjyB4eM4hsYhk=", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.0", - "@vue/babel-preset-app": "^4.5.12", - "@vue/cli-shared-utils": "^4.5.12", - "babel-loader": "^8.1.0", - "cache-loader": "^4.1.0", - "thread-loader": "^2.1.3", - "webpack": "^4.0.0" - }, - "peerDependencies": { - "@vue/cli-service": "^3.0.0 || ^4.0.0-0" - } - }, - "node_modules/@vue/cli-plugin-eslint": { - "version": "4.5.12", - "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-eslint/download/@vue/cli-plugin-eslint-4.5.12.tgz", - "integrity": "sha1-f8Kh0KSQ+jAO9OlFGMLMSbp6KS8=", - "dev": true, - "dependencies": { - "@vue/cli-shared-utils": "^4.5.12", - "eslint-loader": "^2.2.1", - "globby": "^9.2.0", - "inquirer": "^7.1.0", - "webpack": "^4.0.0", - "yorkie": "^2.0.0" - }, - "peerDependencies": { - "@vue/cli-service": "^3.0.0 || ^4.0.0-0", - "eslint": ">= 1.6.0 < 7.0.0" - } - }, - "node_modules/@vue/cli-plugin-router": { - "version": "4.5.12", - "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-router/download/@vue/cli-plugin-router-4.5.12.tgz", - "integrity": "sha1-l3xLK2lMwD6e+BYRKl1YkjST0Kw=", - "dev": true, - "dependencies": { - "@vue/cli-shared-utils": "^4.5.12" - }, - "peerDependencies": { - "@vue/cli-service": "^3.0.0 || ^4.0.0-0" - } - }, - "node_modules/@vue/cli-plugin-vuex": { - "version": "4.5.12", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.12.tgz", - "integrity": "sha512-STgbvNv/3iHAKArc18b/qjN7RX1FTrfxPeHH26GOr/A8lJes7+CSluZZ8E5R7Zr/vL0zOqOkUVDAjFXVf4zWQA==", - "dev": true, - "peerDependencies": { - "@vue/cli-service": "^3.0.0 || ^4.0.0-0" - } - }, - "node_modules/@vue/cli-service": { - "version": "4.5.12", - "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.5.12.tgz", - "integrity": "sha512-Di/dFw72HIvUrpTgnnPQkPq07mdd7z3GPeCH/o+6fv4bxOD+gwK9z7P6RkG4lGv2QdLz+qjim9f7xw5w+9ENkg==", - "dev": true, - "dependencies": { - "@intervolga/optimize-cssnano-plugin": "^1.0.5", - "@soda/friendly-errors-webpack-plugin": "^1.7.1", - "@soda/get-current-script": "^1.0.0", - "@types/minimist": "^1.2.0", - "@types/webpack": "^4.0.0", - "@types/webpack-dev-server": "^3.11.0", - "@vue/cli-overlay": "^4.5.12", - "@vue/cli-plugin-router": "^4.5.12", - "@vue/cli-plugin-vuex": "^4.5.12", - "@vue/cli-shared-utils": "^4.5.12", - "@vue/component-compiler-utils": "^3.1.2", - "@vue/preload-webpack-plugin": "^1.1.0", - "@vue/web-component-wrapper": "^1.2.0", - "acorn": "^7.4.0", - "acorn-walk": "^7.1.1", - "address": "^1.1.2", - "autoprefixer": "^9.8.6", - "browserslist": "^4.12.0", - "cache-loader": "^4.1.0", - "case-sensitive-paths-webpack-plugin": "^2.3.0", - "cli-highlight": "^2.1.4", - "clipboardy": "^2.3.0", - "cliui": "^6.0.0", - "copy-webpack-plugin": "^5.1.1", - "css-loader": "^3.5.3", - "cssnano": "^4.1.10", - "debug": "^4.1.1", - "default-gateway": "^5.0.5", - "dotenv": "^8.2.0", - "dotenv-expand": "^5.1.0", - "file-loader": "^4.2.0", - "fs-extra": "^7.0.1", - "globby": "^9.2.0", - "hash-sum": "^2.0.0", - "html-webpack-plugin": "^3.2.0", - "launch-editor-middleware": "^2.2.1", - "lodash.defaultsdeep": "^4.6.1", - "lodash.mapvalues": "^4.6.0", - "lodash.transform": "^4.6.0", - "mini-css-extract-plugin": "^0.9.0", - "minimist": "^1.2.5", - "pnp-webpack-plugin": "^1.6.4", - "portfinder": "^1.0.26", - "postcss-loader": "^3.0.0", - "ssri": "^7.1.0", - "terser-webpack-plugin": "^2.3.6", - "thread-loader": "^2.1.3", - "url-loader": "^2.2.0", - "vue-loader": "^15.9.2", - "vue-style-loader": "^4.1.2", - "webpack": "^4.0.0", - "webpack-bundle-analyzer": "^3.8.0", - "webpack-chain": "^6.4.0", - "webpack-dev-server": "^3.11.0", - "webpack-merge": "^4.2.2" - }, - "bin": { - "vue-cli-service": "bin/vue-cli-service.js" - }, - "engines": { - "node": ">=8" - }, - "optionalDependencies": { - "vue-loader-v16": "npm:vue-loader@^16.1.0" - }, - "peerDependencies": { - "@vue/compiler-sfc": "^3.0.0-beta.14", - "vue-template-compiler": "^2.0.0" - }, - "peerDependenciesMeta": { - "@vue/compiler-sfc": { - "optional": true - }, - "less-loader": { - "optional": true - }, - "pug-plain-loader": { - "optional": true - }, - "raw-loader": { - "optional": true - }, - "sass-loader": { - "optional": true - }, - "stylus-loader": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - } - } - }, - "node_modules/@vue/cli-service/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@vue/cli-service/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@vue/cli-service/node_modules/cacache": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", - "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==", - "dev": true, - "dependencies": { - "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.2", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "minipass": "^3.0.0", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "p-map": "^3.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^2.7.1", - "ssri": "^7.0.0", - "unique-filename": "^1.1.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@vue/cli-service/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/@vue/cli-service/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@vue/cli-service/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@vue/cli-service/node_modules/hash-sum": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", - "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", - "dev": true - }, - "node_modules/@vue/cli-service/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@vue/cli-service/node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@vue/cli-service/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@vue/cli-service/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@vue/cli-service/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@vue/cli-service/node_modules/terser-webpack-plugin": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz", - "integrity": "sha512-/fKw3R+hWyHfYx7Bv6oPqmk4HGQcrWLtV3X6ggvPuwPNHSnzvVV51z6OaaCOus4YLjutYGOz3pEpbhe6Up2s1w==", - "dev": true, - "dependencies": { - "cacache": "^13.0.1", - "find-cache-dir": "^3.3.1", - "jest-worker": "^25.4.0", - "p-limit": "^2.3.0", - "schema-utils": "^2.6.6", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.6.12", - "webpack-sources": "^1.4.3" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/@vue/cli-service/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@vue/cli-shared-utils": { - "version": "4.5.12", - "resolved": "https://registry.npm.taobao.org/@vue/cli-shared-utils/download/@vue/cli-shared-utils-4.5.12.tgz", - "integrity": "sha1-DgaT1IgzbShP+mWP8zseoikn0GU=", - "dev": true, - "dependencies": { - "@hapi/joi": "^15.0.1", - "chalk": "^2.4.2", - "execa": "^1.0.0", - "launch-editor": "^2.2.1", - "lru-cache": "^5.1.1", - "node-ipc": "^9.1.1", - "open": "^6.3.0", - "ora": "^3.4.0", - "read-pkg": "^5.1.1", - "request": "^2.88.2", - "semver": "^6.1.0", - "strip-ansi": "^6.0.0" - } - }, - "node_modules/@vue/cli-shared-utils/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@vue/cli-shared-utils/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz", - "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@vue/component-compiler-utils": { - "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/@vue/component-compiler-utils/download/@vue/component-compiler-utils-3.2.0.tgz?cache=0&sync_timestamp=1595427755828&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcomponent-compiler-utils%2Fdownload%2F%40vue%2Fcomponent-compiler-utils-3.2.0.tgz", - "integrity": "sha1-j4UYLO7Sjps8dTE95mn4MWbRHl0=", - "dev": true, - "dependencies": { - "consolidate": "^0.15.1", - "hash-sum": "^1.0.2", - "lru-cache": "^4.1.2", - "merge-source-map": "^1.1.0", - "postcss": "^7.0.14", - "postcss-selector-parser": "^6.0.2", - "source-map": "~0.6.1", - "vue-template-es2015-compiler": "^1.9.0" - }, - "optionalDependencies": { - "prettier": "^1.18.2" - } - }, - "node_modules/@vue/component-compiler-utils/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427614275&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", - "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", - "dev": true, - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/@vue/component-compiler-utils/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@vue/component-compiler-utils/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "node_modules/@vue/preload-webpack-plugin": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/@vue/preload-webpack-plugin/download/@vue/preload-webpack-plugin-1.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fpreload-webpack-plugin%2Fdownload%2F%40vue%2Fpreload-webpack-plugin-1.1.2.tgz", - "integrity": "sha1-zrkktOyzucQ4ccekKaAvhCPmIas=", - "dev": true, - "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "html-webpack-plugin": ">=2.26.0", - "webpack": ">=4.0.0" - } - }, - "node_modules/@vue/web-component-wrapper": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/@vue/web-component-wrapper/download/@vue/web-component-wrapper-1.3.0.tgz?cache=0&sync_timestamp=1613216639558&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fweb-component-wrapper%2Fdownload%2F%40vue%2Fweb-component-wrapper-1.3.0.tgz", - "integrity": "sha1-trQKdiVCnSvXwigd26YB7QXcfxo=", - "dev": true - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.9.0.tgz?cache=0&sync_timestamp=1610041327965&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fast%2Fdownload%2F%40webassemblyjs%2Fast-1.9.0.tgz", - "integrity": "sha1-vYUGBLQEJFmlpBzX0zjL7Wle2WQ=", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.9.0.tgz?cache=0&sync_timestamp=1610043274676&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Ffloating-point-hex-parser%2Fdownload%2F%40webassemblyjs%2Ffloating-point-hex-parser-1.9.0.tgz", - "integrity": "sha1-PD07Jxvd/ITesA9xNEQ4MR1S/7Q=", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.9.0.tgz?cache=0&sync_timestamp=1610041324030&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-api-error%2Fdownload%2F%40webassemblyjs%2Fhelper-api-error-1.9.0.tgz", - "integrity": "sha1-ID9nbjM7lsnaLuqzzO8zxFkotqI=", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.9.0.tgz?cache=0&sync_timestamp=1610041334130&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-buffer%2Fdownload%2F%40webassemblyjs%2Fhelper-buffer-1.9.0.tgz", - "integrity": "sha1-oUQtJpxf6yP8vJ73WdrDVH8p3gA=", - "dev": true - }, - "node_modules/@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.9.0.tgz?cache=0&sync_timestamp=1610043273592&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-code-frame%2Fdownload%2F%40webassemblyjs%2Fhelper-code-frame-1.9.0.tgz", - "integrity": "sha1-ZH+Iks0gQ6gqwMjF51w28dkVnyc=", - "dev": true, - "dependencies": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "node_modules/@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.9.0.tgz?cache=0&sync_timestamp=1610041345513&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-fsm%2Fdownload%2F%40webassemblyjs%2Fhelper-fsm-1.9.0.tgz", - "integrity": "sha1-wFJWtxJEIUZx9LCOwQitY7cO3bg=", - "dev": true - }, - "node_modules/@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.9.0.tgz?cache=0&sync_timestamp=1601755861500&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-module-context%2Fdownload%2F%40webassemblyjs%2Fhelper-module-context-1.9.0.tgz", - "integrity": "sha1-JdiIS3aDmHGgimxvgGw5ee9xLwc=", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.9.0.tgz?cache=0&sync_timestamp=1610041334247&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-wasm-bytecode%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha1-T+2L6sm4wU+MWLcNEk1UndH+V5A=", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.9.0.tgz?cache=0&sync_timestamp=1610041332602&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-wasm-section%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-section-1.9.0.tgz", - "integrity": "sha1-WkE41aYpK6GLBMWuSXF+QWeWU0Y=", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.9.0.tgz?cache=0&sync_timestamp=1610041334740&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fieee754%2Fdownload%2F%40webassemblyjs%2Fieee754-1.9.0.tgz", - "integrity": "sha1-Fceg+6roP7JhQ7us9tbfFwKtOeQ=", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.9.0.tgz?cache=0&sync_timestamp=1610041334514&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fleb128%2Fdownload%2F%40webassemblyjs%2Fleb128-1.9.0.tgz", - "integrity": "sha1-8Zygt2ptxVYjoJz/p2noOPoeHJU=", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.9.0.tgz?cache=0&sync_timestamp=1610041334838&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Futf8%2Fdownload%2F%40webassemblyjs%2Futf8-1.9.0.tgz", - "integrity": "sha1-BNM7Y2945qaBMifoJAL3Y3tiKas=", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-edit%2Fdownload%2F%40webassemblyjs%2Fwasm-edit-1.9.0.tgz", - "integrity": "sha1-P+bXnT8PkiGDqoYALELdJWz+6c8=", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.9.0.tgz?cache=0&sync_timestamp=1610041335808&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-gen%2Fdownload%2F%40webassemblyjs%2Fwasm-gen-1.9.0.tgz", - "integrity": "sha1-ULxw7Gje2OJ2OwGhQYv0NJGnpJw=", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.9.0.tgz?cache=0&sync_timestamp=1610041336191&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-opt%2Fdownload%2F%40webassemblyjs%2Fwasm-opt-1.9.0.tgz", - "integrity": "sha1-IhEYHlsxMmRDzIES658LkChyGmE=", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.9.0.tgz?cache=0&sync_timestamp=1610041328345&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-parser%2Fdownload%2F%40webassemblyjs%2Fwasm-parser-1.9.0.tgz", - "integrity": "sha1-nUjkSCbfSmWYKUqmyHRp1kL/9l4=", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.9.0.tgz?cache=0&sync_timestamp=1610041336497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwast-parser%2Fdownload%2F%40webassemblyjs%2Fwast-parser-1.9.0.tgz", - "integrity": "sha1-MDERXXmsW9JhVWzsw/qQo+9FGRQ=", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.9.0.tgz?cache=0&sync_timestamp=1610041335289&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwast-printer%2Fdownload%2F%40webassemblyjs%2Fwast-printer-1.9.0.tgz", - "integrity": "sha1-STXVTIX+9jewDOn1I3dFHQDUeJk=", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz", - "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz", - "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=", - "dev": true - }, - "node_modules/accepts": { - "version": "1.3.7", - "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz", - "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=", - "dev": true, - "dependencies": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-7.4.1.tgz", - "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.3.1.tgz?cache=0&sync_timestamp=1599499160644&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-jsx%2Fdownload%2Facorn-jsx-5.3.1.tgz", - "integrity": "sha1-/IZh4Rt6wVOcR9v+oucrOvNNJns=", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-7.2.0.tgz", - "integrity": "sha1-DeiJpgEgOQmw++B7iTjcIdLpZ7w=", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/address": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz", - "integrity": "sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY=", - "dev": true, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.6.tgz", - "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "node_modules/ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.1.tgz?cache=0&sync_timestamp=1615411182875&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv-errors%2Fdownload%2Fajv-errors-1.0.1.tgz", - "integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0=", - "dev": true, - "peerDependencies": { - "ajv": ">=5.0.0" - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.2.tgz", - "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "node_modules/ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz", - "integrity": "sha1-46PaS/uubIapwoViXeEkojQCb78=", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-4.3.1.tgz", - "integrity": "sha1-pcR8xDGB8fOP/XB2g3cA05VSKmE=", - "dev": true, - "dependencies": { - "type-fest": "^0.11.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", - "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1611325806500&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", - "dev": true - }, - "node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz", - "integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=", - "dev": true, - "optional": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz", - "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=", - "dev": true - }, - "node_modules/arch": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/arch/download/arch-2.2.0.tgz?cache=0&sync_timestamp=1603836307202&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farch%2Fdownload%2Farch-2.2.0.tgz", - "integrity": "sha1-G8R4GPMFdk8jqzMGsL/AhsWinRE=", - "dev": true - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fargparse%2Fdownload%2Fargparse-1.0.10.tgz", - "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz?cache=0&sync_timestamp=1614624227561&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-union%2Fdownload%2Farray-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz", - "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=", - "dev": true, - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npm.taobao.org/asn1.js/download/asn1.js-5.4.1.tgz", - "integrity": "sha1-EamAuE67kXgc41sP3C7ilON4Pwc=", - "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, - "node_modules/assert": { - "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/assert/download/assert-1.5.0.tgz", - "integrity": "sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs=", - "dev": true, - "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "dependencies": { - "inherits": "2.0.1" - } - }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/async": { - "version": "2.6.3", - "resolved": "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz", - "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=", - "dev": true, - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/async-each": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz", - "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=", - "dev": true - }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz", - "integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=", - "dev": true - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz", - "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=", - "dev": true, - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/autoprefixer": { - "version": "9.8.6", - "resolved": "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-9.8.6.tgz?cache=0&sync_timestamp=1614956763868&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-9.8.6.tgz", - "integrity": "sha1-O3NZTKG/kmYyDFrPFYjXTep0IQ8=", - "dev": true, - "dependencies": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "colorette": "^1.2.1", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - } - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npm.taobao.org/aws4/download/aws4-1.11.0.tgz?cache=0&sync_timestamp=1604103580457&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faws4%2Fdownload%2Faws4-1.11.0.tgz", - "integrity": "sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk=", - "dev": true - }, - "node_modules/babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.1.0.tgz", - "integrity": "sha1-aWjlaKkQt4+zd5zdi2rC9HmUMjI=", - "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - }, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "eslint": ">= 4.12.1" - } - }, - "node_modules/babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.2.2.tgz?cache=0&sync_timestamp=1606424445376&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-loader%2Fdownload%2Fbabel-loader-8.2.2.tgz", - "integrity": "sha1-k2POhMEMmkDmx1N0jhRBtgyKC4E=", - "dev": true, - "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "engines": { - "node": ">= 8.9" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" - } - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npm.taobao.org/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-dynamic-import-node%2Fdownload%2Fbabel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha1-hP2hnJduxcbe/vV/lCez3vZuF6M=", - "dev": true, - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.1.10", - "resolved": "https://registry.npm.taobao.org/babel-plugin-polyfill-corejs2/download/babel-plugin-polyfill-corejs2-0.1.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-polyfill-corejs2%2Fdownload%2Fbabel-plugin-polyfill-corejs2-0.1.10.tgz", - "integrity": "sha1-osXCRfVsDKw9vdvwcmpGsk8PgdE=", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.13.0", - "@babel/helper-define-polyfill-provider": "^0.1.5", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.1.7", - "resolved": "https://registry.npm.taobao.org/babel-plugin-polyfill-corejs3/download/babel-plugin-polyfill-corejs3-0.1.7.tgz?cache=0&sync_timestamp=1614674439297&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-polyfill-corejs3%2Fdownload%2Fbabel-plugin-polyfill-corejs3-0.1.7.tgz", - "integrity": "sha1-gESdnW8idJEuBdnhgrVIFpBL79A=", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.1.5", - "core-js-compat": "^3.8.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/babel-plugin-polyfill-regenerator/download/babel-plugin-polyfill-regenerator-0.1.6.tgz?cache=0&sync_timestamp=1614675020617&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-polyfill-regenerator%2Fdownload%2Fbabel-plugin-polyfill-regenerator-0.1.6.tgz", - "integrity": "sha1-D+BqAm/g+qYozMi6MwLaCmzgLz8=", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.1.5" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz", - "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", - "dev": true, - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.5.1.tgz", - "integrity": "sha1-GxtEAWClv3rUC2UPCVljSBkDkwo=", - "dev": true - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/bfj": { - "version": "6.1.2", - "resolved": "https://registry.npm.taobao.org/bfj/download/bfj-6.1.2.tgz?cache=0&sync_timestamp=1577112180160&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbfj%2Fdownload%2Fbfj-6.1.2.tgz", - "integrity": "sha1-MlyGGoIryzWKQceKM7jm4ght3n8=", - "dev": true, - "dependencies": { - "bluebird": "^3.5.5", - "check-types": "^8.0.3", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz", - "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.2.0.tgz?cache=0&sync_timestamp=1610299413755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.2.0.tgz", - "integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=", - "dev": true, - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz", - "integrity": "sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=", - "dev": true, - "optional": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz", - "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=", - "dev": true - }, - "node_modules/bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-5.2.0.tgz", - "integrity": "sha1-NYhgZ0OWxpl3canQUfzBtX1K4AI=", - "dev": true - }, - "node_modules/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz", - "integrity": "sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=", - "dev": true, - "dependencies": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.7.0", - "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz", - "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npm.taobao.org/bonjour/download/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "dependencies": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "node_modules/bonjour/node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-2.1.2.tgz", - "integrity": "sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk=", - "dev": true - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz?cache=0&sync_timestamp=1614010713935&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrace-expansion%2Fdownload%2Fbrace-expansion-1.1.11.tgz", - "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz", - "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", - "dev": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/braces/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz", - "integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=", - "dev": true, - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz", - "integrity": "sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=", - "dev": true, - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz", - "integrity": "sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.1.0.tgz?cache=0&sync_timestamp=1605194217709&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserify-rsa%2Fdownload%2Fbrowserify-rsa-4.1.0.tgz", - "integrity": "sha1-sv0Gtbda4pf3zi3GUfkY9b4VjI0=", - "dev": true, - "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "node_modules/browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.2.1.tgz?cache=0&sync_timestamp=1596557955875&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserify-sign%2Fdownload%2Fbrowserify-sign-4.2.1.tgz", - "integrity": "sha1-6vSt1G3VS+O7OzbAzxWrvrp5VsM=", - "dev": true, - "dependencies": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "node_modules/browserify-sign/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", - "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/browserify-sign/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz", - "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", - "dev": true - }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz", - "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", - "dev": true, - "dependencies": { - "pako": "~1.0.5" - } - }, - "node_modules/browserslist": { - "version": "4.16.3", - "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-4.16.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.16.3.tgz", - "integrity": "sha1-NAqkaUDX24eHSFZ8XeokpI3fNxc=", - "dev": true, - "dependencies": { - "caniuse-lite": "^1.0.30001181", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.649", - "escalade": "^3.1.1", - "node-releases": "^1.1.70" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer": { - "version": "4.9.2", - "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz?cache=0&sync_timestamp=1606098075542&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer%2Fdownload%2Fbuffer-4.9.2.tgz", - "integrity": "sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg=", - "dev": true, - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz", - "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=", - "dev": true - }, - "node_modules/buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/buffer-indexof/download/buffer-indexof-1.1.1.tgz", - "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=", - "dev": true - }, - "node_modules/buffer-json": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/buffer-json/download/buffer-json-2.0.0.tgz", - "integrity": "sha1-9z4TseQvGW/i/WfQAcfXEH7dfCM=", - "dev": true - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "node_modules/bytes": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz", - "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cacache": { - "version": "12.0.4", - "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-12.0.4.tgz", - "integrity": "sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw=", - "dev": true, - "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "node_modules/cacache/node_modules/ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "dependencies": { - "figgy-pudding": "^3.5.1" - } - }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz", - "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", - "dev": true, - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cache-loader": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/cache-loader/download/cache-loader-4.1.0.tgz", - "integrity": "sha1-mUjK41OuwKH8ser9ojAIFuyFOH4=", - "dev": true, - "dependencies": { - "buffer-json": "^2.0.0", - "find-cache-dir": "^3.0.0", - "loader-utils": "^1.2.3", - "mkdirp": "^0.5.1", - "neo-async": "^2.6.1", - "schema-utils": "^2.0.0" - }, - "engines": { - "node": ">= 8.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/call-bind/download/call-bind-1.0.2.tgz?cache=0&sync_timestamp=1610402833657&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcall-bind%2Fdownload%2Fcall-bind-1.0.2.tgz", - "integrity": "sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "node_modules/call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", - "dev": true - }, - "node_modules/caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/caller-callsite/download/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "dependencies": { - "callsites": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/caller-path/download/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "dependencies": { - "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/callsites": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "dependencies": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "node_modules/camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-6.2.0.tgz?cache=0&sync_timestamp=1603921779318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-6.2.0.tgz", - "integrity": "sha1-kkr4gcnVJaydh/QNlk5c6pgqGAk=", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz", - "integrity": "sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA=", - "dev": true, - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001204", - "resolved": "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001204.tgz?cache=0&sync_timestamp=1616362520444&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001204.tgz", - "integrity": "sha1-JWyFcJo0jsTRdehHo7UVxm558qo=", - "dev": true - }, - "node_modules/case-sensitive-paths-webpack-plugin": { - "version": "2.4.0", - "resolved": "https://registry.npm.taobao.org/case-sensitive-paths-webpack-plugin/download/case-sensitive-paths-webpack-plugin-2.4.0.tgz", - "integrity": "sha1-22QGbGQi7tLgjMFLmGykN5bbxtQ=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1591687018980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npm.taobao.org/chardet/download/chardet-0.7.0.tgz?cache=0&sync_timestamp=1601032487499&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchardet%2Fdownload%2Fchardet-0.7.0.tgz", - "integrity": "sha1-kAlISfCTfy7twkJdDSip5fDLrZ4=", - "dev": true - }, - "node_modules/check-types": { - "version": "8.0.3", - "resolved": "https://registry.npm.taobao.org/check-types/download/check-types-8.0.3.tgz", - "integrity": "sha1-M1bMoZyIlUTy16le1JzlCKDs9VI=", - "dev": true - }, - "node_modules/chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-3.5.1.tgz?cache=0&sync_timestamp=1610721450018&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.5.1.tgz", - "integrity": "sha1-7pznu+vSt59J8wR5nVRo4x4U5oo=", - "dev": true, - "optional": true, - "dependencies": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.1" - } - }, - "node_modules/chokidar/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", - "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", - "dev": true, - "optional": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chokidar/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", - "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", - "dev": true, - "optional": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.2.tgz", - "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", - "dev": true, - "optional": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/chokidar/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", - "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/chokidar/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", - "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "dev": true, - "optional": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/chownr/download/chownr-1.1.4.tgz", - "integrity": "sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs=", - "dev": true - }, - "node_modules/chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.2.tgz", - "integrity": "sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ=", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npm.taobao.org/ci-info/download/ci-info-1.6.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fci-info%2Fdownload%2Fci-info-1.6.0.tgz", - "integrity": "sha1-LKINu5zrMtRSSmgzAzE/AwSx5Jc=", - "dev": true - }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz", - "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz", - "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", - "dev": true, - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.3.tgz?cache=0&sync_timestamp=1616153455026&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclean-css%2Fdownload%2Fclean-css-4.2.3.tgz", - "integrity": "sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g=", - "dev": true, - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/clean-css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-3.1.0.tgz", - "integrity": "sha1-JkMFp65JDR0Dvwybp8kl0XU68wc=", - "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-highlight": { - "version": "2.1.10", - "resolved": "https://registry.npm.taobao.org/cli-highlight/download/cli-highlight-2.1.10.tgz?cache=0&sync_timestamp=1610121100956&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-highlight%2Fdownload%2Fcli-highlight-2.1.10.tgz", - "integrity": "sha1-JqCH2pIJ3OT8uM9UJ9yXzZasFzo=", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "highlight.js": "^10.0.0", - "mz": "^2.4.0", - "parse5": "^5.1.1", - "parse5-htmlparser2-tree-adapter": "^6.0.0", - "yargs": "^16.0.0" - }, - "bin": { - "highlight": "bin/highlight" - }, - "engines": { - "node": ">=8.0.0", - "npm": ">=5.0.0" - } - }, - "node_modules/cli-highlight/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611325806500&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-highlight/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz?cache=0&sync_timestamp=1591687018980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cli-highlight/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/cli-highlight/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "node_modules/cli-highlight/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-highlight/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-spinners": { - "version": "2.6.0", - "resolved": "https://registry.npm.taobao.org/cli-spinners/download/cli-spinners-2.6.0.tgz", - "integrity": "sha1-NsfcmPtqmna9YjjsP3fiQlYn6Tk=", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/cli-width/download/cli-width-3.0.0.tgz", - "integrity": "sha1-ovSEN6LKqaIkNueUvwceyeYc7fY=", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/clipboardy": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/clipboardy/download/clipboardy-2.3.0.tgz", - "integrity": "sha1-PCkDZQxo5GqRs4iYW8J3QofbopA=", - "dev": true, - "dependencies": { - "arch": "^2.1.1", - "execa": "^1.0.0", - "is-wsl": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/cliui/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/coa": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz", - "integrity": "sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM=", - "dev": true, - "dependencies": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color": { - "version": "3.1.3", - "resolved": "https://registry.npm.taobao.org/color/download/color-3.1.3.tgz", - "integrity": "sha1-ymf7TnuX1hHc3jns7tQiBn2RWW4=", - "dev": true, - "dependencies": { - "color-convert": "^1.9.1", - "color-string": "^1.5.4" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz", - "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/color-string": { - "version": "1.5.5", - "resolved": "https://registry.npm.taobao.org/color-string/download/color-string-1.5.5.tgz?cache=0&sync_timestamp=1614967287897&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolor-string%2Fdownload%2Fcolor-string-1.5.5.tgz", - "integrity": "sha1-ZUdKjw50OWJfPSemoZ2J/EUiMBQ=", - "dev": true, - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/colorette": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/colorette/download/colorette-1.2.2.tgz?cache=0&sync_timestamp=1614259623635&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolorette%2Fdownload%2Fcolorette-1.2.2.tgz", - "integrity": "sha1-y8x51emcrqLb8Q6zom/Ys+as+pQ=", - "dev": true - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz", - "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "2.17.1", - "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz", - "integrity": "sha1-vXerfebelCBc6sxy8XFtKfIKd78=", - "dev": true - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz", - "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=", - "dev": true - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npm.taobao.org/compressible/download/compressible-2.0.18.tgz", - "integrity": "sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o=", - "dev": true, - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz", - "integrity": "sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48=", - "dev": true, - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz", - "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w=", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz", - "integrity": "sha1-ZwY871fOts9Jk6KrOlWECujEkzY=", - "dev": true - }, - "node_modules/consolidate": { - "version": "0.15.1", - "resolved": "https://registry.npm.taobao.org/consolidate/download/consolidate-0.15.1.tgz?cache=0&sync_timestamp=1599596658886&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconsolidate%2Fdownload%2Fconsolidate-0.15.1.tgz", - "integrity": "sha1-IasEMjXHGgfUXZqtmFk7DbpWurc=", - "dev": true, - "dependencies": { - "bluebird": "^3.1.1" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "node_modules/content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz", - "integrity": "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=", - "dev": true, - "dependencies": { - "safe-buffer": "5.1.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz", - "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz", - "integrity": "sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI=", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz", - "integrity": "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "node_modules/copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz", - "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=", - "dev": true, - "dependencies": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/copy-webpack-plugin": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz", - "integrity": "sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==", - "dev": true, - "dependencies": { - "cacache": "^12.0.3", - "find-cache-dir": "^2.1.0", - "glob-parent": "^3.1.0", - "globby": "^7.1.1", - "is-glob": "^4.0.1", - "loader-utils": "^1.2.3", - "minimatch": "^3.0.4", - "normalize-path": "^3.0.0", - "p-limit": "^2.2.1", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "webpack-log": "^2.0.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/copy-webpack-plugin/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/copy-webpack-plugin/node_modules/globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", - "dev": true, - "dependencies": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/copy-webpack-plugin/node_modules/globby/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/copy-webpack-plugin/node_modules/ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", - "dev": true - }, - "node_modules/copy-webpack-plugin/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/copy-webpack-plugin/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/copy-webpack-plugin/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/copy-webpack-plugin/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/copy-webpack-plugin/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/copy-webpack-plugin/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/copy-webpack-plugin/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/copy-webpack-plugin/node_modules/slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/core-js": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.11.1.tgz", - "integrity": "sha512-k93Isqg7e4txZWMGNYwevZL9MiogLk8pd1PtwrmFmi8IBq4GXqUaVW/a33Llt6amSI36uSjd0GWwc9pTT9ALlQ==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat": { - "version": "3.9.1", - "resolved": "https://registry.npm.taobao.org/core-js-compat/download/core-js-compat-3.9.1.tgz?cache=0&sync_timestamp=1614537245708&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js-compat%2Fdownload%2Fcore-js-compat-3.9.1.tgz", - "integrity": "sha1-Tlcqz+kK/2nXbYw3dZ0hpcWbtFU=", - "dev": true, - "dependencies": { - "browserslist": "^4.16.3", - "semver": "7.0.0" - } - }, - "node_modules/core-js-compat/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1606851857382&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz", - "integrity": "sha1-XzyjV2HkfgWyBsba/yz4FPAxa44=", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz?cache=0&sync_timestamp=1598867167433&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-5.2.1.tgz", - "integrity": "sha1-BA9yaAnFked6F8CjYmykW08Wixo=", - "dev": true, - "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.4.tgz?cache=0&sync_timestamp=1596557597835&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcreate-ecdh%2Fdownload%2Fcreate-ecdh-4.0.4.tgz", - "integrity": "sha1-1uf0v/pmc2CFoHYv06YyaE2rzE4=", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz", - "integrity": "sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz", - "integrity": "sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz", - "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", - "dev": true, - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1606851857382&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", - "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz", - "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", - "dev": true, - "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" - } - }, - "node_modules/css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz?cache=0&sync_timestamp=1604519240728&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-declaration-sorter%2Fdownload%2Fcss-declaration-sorter-4.0.1.tgz", - "integrity": "sha1-wZiUD2OnbX42wecQGLABchBUyyI=", - "dev": true, - "dependencies": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" - }, - "engines": { - "node": ">4" - } - }, - "node_modules/css-loader": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/css-loader/download/css-loader-3.6.0.tgz", - "integrity": "sha1-Lkssfm4tJ/jI8o9hv/zS5ske9kU=", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "cssesc": "^3.0.0", - "icss-utils": "^4.1.1", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.32", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.2", - "postcss-modules-scope": "^2.2.0", - "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^2.7.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">= 8.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/css-loader/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603921779318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz", - "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/css-select/download/css-select-2.1.0.tgz?cache=0&sync_timestamp=1608486173035&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-select%2Fdownload%2Fcss-select-2.1.0.tgz", - "integrity": "sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8=", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "node_modules/css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc=", - "dev": true - }, - "node_modules/css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.37.tgz?cache=0&sync_timestamp=1606404079672&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-tree%2Fdownload%2Fcss-tree-1.0.0-alpha.37.tgz", - "integrity": "sha1-mL69YsTB2flg7DQM+fdSLjBwmiI=", - "dev": true, - "dependencies": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-tree/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-what": { - "version": "3.4.2", - "resolved": "https://registry.npm.taobao.org/css-what/download/css-what-3.4.2.tgz?cache=0&sync_timestamp=1615262862801&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-what%2Fdownload%2Fcss-what-3.4.2.tgz", - "integrity": "sha1-6nAm/LAXd+295SEk4h8yfnrpUOQ=", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz", - "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "4.1.10", - "resolved": "https://registry.npm.taobao.org/cssnano/download/cssnano-4.1.10.tgz", - "integrity": "sha1-CsQfCxPRPUZUh+ERt3jULaYxuLI=", - "dev": true, - "dependencies": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npm.taobao.org/cssnano-preset-default/download/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha1-UexmLM/KD4izltzZZ5zbkxvhf3Y=", - "dev": true, - "dependencies": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.2", - "postcss-unique-selectors": "^4.0.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI=", - "dev": true, - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M=", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npm.taobao.org/csso/download/csso-4.2.0.tgz?cache=0&sync_timestamp=1606408883298&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsso%2Fdownload%2Fcsso-4.2.0.tgz", - "integrity": "sha1-6jpWE0bo3J9UbW/r7dUBh884lSk=", - "dev": true, - "dependencies": { - "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/css-tree/download/css-tree-1.1.2.tgz?cache=0&sync_timestamp=1606404079672&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-tree%2Fdownload%2Fcss-tree-1.1.2.tgz", - "integrity": "sha1-muOTtdr9fa6KYiR1yux409j717U=", - "dev": true, - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.14.tgz", - "integrity": "sha1-cRP8QoGRfWPOKbQ0RvcB5owlulA=", - "dev": true - }, - "node_modules/csso/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz?cache=0&sync_timestamp=1601073407658&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdashdash%2Fdownload%2Fdashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/de-indent": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz", - "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", - "dev": true - }, - "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz", - "integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz?cache=0&sync_timestamp=1610348638646&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz", - "integrity": "sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=", - "dev": true, - "dependencies": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "node_modules/deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "node_modules/deepmerge": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", - "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway": { - "version": "5.0.5", - "resolved": "https://registry.npm.taobao.org/default-gateway/download/default-gateway-5.0.5.tgz?cache=0&sync_timestamp=1610365784356&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefault-gateway%2Fdownload%2Fdefault-gateway-5.0.5.tgz", - "integrity": "sha1-T9a9XShV05s0zFpZUFSG6ar8mxA=", - "dev": true, - "dependencies": { - "execa": "^3.3.0" - }, - "engines": { - "node": "^8.12.0 || >=9.7.0" - } - }, - "node_modules/default-gateway/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz", - "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/default-gateway/node_modules/execa": { - "version": "3.4.0", - "resolved": "https://registry.npm.taobao.org/execa/download/execa-3.4.0.tgz?cache=0&sync_timestamp=1606973416764&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-3.4.0.tgz", - "integrity": "sha1-wI7UVQ72XYWPrCaf/IVyRG8364k=", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": "^8.12.0 || >=9.7.0" - } - }, - "node_modules/default-gateway/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-5.2.0.tgz?cache=0&sync_timestamp=1597056461891&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-5.2.0.tgz", - "integrity": "sha1-SWaheV7lrOZecGxLe+txJX1uItM=", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/default-gateway/node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-2.0.0.tgz", - "integrity": "sha1-venDJoDW+uBBKdasnZIc54FfeOM=", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/default-gateway/node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-4.0.1.tgz", - "integrity": "sha1-t+zR5e1T2o43pV4cImnguX7XSOo=", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/default-gateway/node_modules/p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-2.0.1.tgz", - "integrity": "sha1-vW/KqcVZoJa2gIBvTWV7Pw8kBWE=", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/default-gateway/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz", - "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/default-gateway/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz", - "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/default-gateway/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz", - "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/default-gateway/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz", - "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/defaults/download/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "dependencies": { - "clone": "^1.0.2" - } - }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz", - "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", - "dev": true, - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz", - "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/del/download/del-4.1.1.tgz?cache=0&sync_timestamp=1601076785563&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdel%2Fdownload%2Fdel-4.1.1.tgz", - "integrity": "sha1-no8RciLqRKMf86FWwEm5kFKp8LQ=", - "dev": true, - "dependencies": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/del/node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz?cache=0&sync_timestamp=1616407110746&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del/node_modules/globby/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/des.js": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/des.js/download/des.js-1.0.1.tgz", - "integrity": "sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM=", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "node_modules/detect-node": { - "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.5.tgz?cache=0&sync_timestamp=1615920894247&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdetect-node%2Fdownload%2Fdetect-node-2.0.5.tgz", - "integrity": "sha1-nScKp+qlrwtyxMnZuBTn9M5zi3k=", - "dev": true - }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz", - "integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, - "node_modules/dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz", - "integrity": "sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ=", - "dev": true, - "dependencies": { - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "node_modules/dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/dns-packet/download/dns-packet-1.3.1.tgz", - "integrity": "sha1-EqpCaYEHW+UAuRDu3NC0fdfe2lo=", - "dev": true, - "dependencies": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "dependencies": { - "buffer-indexof": "^1.0.0" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz", - "integrity": "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz", - "integrity": "sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g=", - "dev": true, - "dependencies": { - "utila": "~0.4" - } - }, - "node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz?cache=0&sync_timestamp=1607193128529&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdom-serializer%2Fdownload%2Fdom-serializer-0.2.2.tgz", - "integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.1.0.tgz", - "integrity": "sha1-qFHAgKbRw9lDRK7RUdmfZp7fWF4=", - "dev": true - }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz", - "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=", - "dev": true, - "engines": { - "node": ">=0.4", - "npm": ">=1.2" - } - }, - "node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz", - "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=", - "dev": true - }, - "node_modules/domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz?cache=0&sync_timestamp=1606872524192&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomhandler%2Fdownload%2Fdomhandler-2.4.2.tgz", - "integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=", - "dev": true, - "dependencies": { - "domelementtype": "1" - } - }, - "node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz", - "integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=", - "dev": true, - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npm.taobao.org/dot-prop/download/dot-prop-5.3.0.tgz?cache=0&sync_timestamp=1605778162251&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-5.3.0.tgz", - "integrity": "sha1-kMzOcIzZzYLMTcjD3dmr3VWyDog=", - "dev": true, - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dotenv": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", - "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/dotenv-expand/download/dotenv-expand-5.1.0.tgz", - "integrity": "sha1-P7rwIL/XlIhAcuomsel5HUWmKfA=", - "dev": true - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.2.tgz?cache=0&sync_timestamp=1597221020457&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fduplexer%2Fdownload%2Fduplexer-0.1.2.tgz", - "integrity": "sha1-Or5DrvODX4rgd9E23c4PJ2sEAOY=", - "dev": true - }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz", - "integrity": "sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=", - "dev": true, - "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/easy-stack": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/easy-stack/download/easy-stack-1.0.1.tgz?cache=0&sync_timestamp=1605128933665&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feasy-stack%2Fdownload%2Feasy-stack-1.0.1.tgz", - "integrity": "sha1-iv5CZGJpiMq7EfPHBMzQyDVBEGY=", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "node_modules/ejs": { - "version": "2.7.4", - "resolved": "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz?cache=0&sync_timestamp=1612643343638&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fejs%2Fdownload%2Fejs-2.7.4.tgz", - "integrity": "sha1-SGYSh1c9zFPjZsehrlLDoSDuybo=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.3.693", - "resolved": "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.693.tgz?cache=0&sync_timestamp=1616180676305&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.693.tgz", - "integrity": "sha1-UInFBqklwx+T/LFzoAOiLjQRFd0=", - "dev": true - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.4.tgz?cache=0&sync_timestamp=1612290557689&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felliptic%2Fdownload%2Felliptic-6.5.4.tgz", - "integrity": "sha1-2jfOvTHnmhNn6UG1ku0fvr1Yq7s=", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1614682798745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz", - "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", - "dev": true - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz", - "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz", - "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-4.5.0.tgz?cache=0&sync_timestamp=1610568463915&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fenhanced-resolve%2Fdownload%2Fenhanced-resolve-4.5.0.tgz", - "integrity": "sha1-Lzz9hNvjtIfxjy2y7x4GSlccpew=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/enhanced-resolve/node_modules/memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.5.0.tgz", - "integrity": "sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw=", - "dev": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/enquirer/node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/entities/download/entities-2.2.0.tgz?cache=0&sync_timestamp=1611535562200&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-2.2.0.tgz", - "integrity": "sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=", - "dev": true - }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npm.taobao.org/errno/download/errno-0.1.8.tgz", - "integrity": "sha1-i7Ppx9Rjvkl2/4iPdrSAnrwugR8=", - "dev": true, - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz", - "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/error-stack-parser": { - "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/error-stack-parser/download/error-stack-parser-2.0.6.tgz", - "integrity": "sha1-WpmnB716TFinl5AtSNgoA+3mqtg=", - "dev": true, - "dependencies": { - "stackframe": "^1.1.1" - } - }, - "node_modules/es-abstract": { - "version": "1.18.0", - "resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.18.0.tgz", - "integrity": "sha1-q4CzWe7Lft5MKYAAOQvFrD7HtaQ=", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.2", - "is-string": "^1.0.5", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz", - "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/escalade/download/escalade-3.1.1.tgz?cache=0&sync_timestamp=1602567437752&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.1.1.tgz", - "integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1587627212242&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.25.0.tgz", - "integrity": "sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash": "^4.17.21", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.4", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-loader": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/eslint-loader/download/eslint-loader-2.2.1.tgz", - "integrity": "sha1-KLnBLaVAV68IReKmEScBova/gzc=", - "dev": true, - "dependencies": { - "loader-fs-cache": "^1.0.0", - "loader-utils": "^1.0.2", - "object-assign": "^4.0.1", - "object-hash": "^1.1.4", - "rimraf": "^2.6.1" - }, - "peerDependencies": { - "eslint": ">=1.6.0 <7.0.0", - "webpack": ">=2.0.0 <5.0.0" - } - }, - "node_modules/eslint-plugin-vue": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.9.0.tgz", - "integrity": "sha512-2Q0qQp5+5h+pZvJKCbG1/jCRUYrdgAz5BYKGyTlp2NU8mx09u3Hp7PsH6d5qef6ojuPoCXMnrbbDxeoplihrSw==", - "dev": true, - "dependencies": { - "eslint-utils": "^2.1.0", - "natural-compare": "^1.4.0", - "semver": "^7.3.2", - "vue-eslint-parser": "^7.6.0" - }, - "engines": { - "node": ">=8.10" - }, - "peerDependencies": { - "eslint": "^6.2.0 || ^7.0.0" - } - }, - "node_modules/eslint-plugin-vue/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-vue/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-vue/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz?cache=0&sync_timestamp=1599933670126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-4.0.3.tgz", - "integrity": "sha1-ygODMxD2iJoyZHgaqC5j65z+eEg=", - "dev": true, - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1597435168678&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz", - "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/eslint/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/eslint/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.1.1.tgz?cache=0&sync_timestamp=1599933670126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.1.tgz", - "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/eslint/node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.2.tgz", - "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.7.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.7.0.tgz", - "integrity": "sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.3.0.tgz?cache=0&sync_timestamp=1608469462038&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-3.3.0.tgz", - "integrity": "sha1-NxYsJfy566oublPVtNiM4X2eDCs=", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz", - "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/eslint/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/espree": { - "version": "6.2.1", - "resolved": "https://registry.npm.taobao.org/espree/download/espree-6.2.1.tgz?cache=0&sync_timestamp=1607146443455&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fespree%2Fdownload%2Fespree-6.2.1.tgz", - "integrity": "sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o=", - "dev": true, - "dependencies": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz", - "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/esquery/download/esquery-1.4.0.tgz?cache=0&sync_timestamp=1612565844379&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesquery%2Fdownload%2Fesquery-1.4.0.tgz", - "integrity": "sha1-IUj/w4uC6McFff7UhCWz5h8PJKU=", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz?cache=0&sync_timestamp=1596641390670&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz", - "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.3.0.tgz?cache=0&sync_timestamp=1598898247102&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesrecurse%2Fdownload%2Fesrecurse-4.3.0.tgz", - "integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz?cache=0&sync_timestamp=1596641390670&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz", - "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1596641390670&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz", - "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz", - "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/event-pubsub": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/event-pubsub/download/event-pubsub-4.3.0.tgz?cache=0&sync_timestamp=1606361626381&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fevent-pubsub%2Fdownload%2Fevent-pubsub-4.3.0.tgz", - "integrity": "sha1-9o2Ba8KfHsAsU53FjI3UDOcss24=", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz", - "integrity": "sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8=", - "dev": true - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npm.taobao.org/events/download/events-3.3.0.tgz", - "integrity": "sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA=", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/eventsource": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/eventsource/download/eventsource-1.1.0.tgz", - "integrity": "sha1-AOjKfJIQnpSw3fMtrGd9hBAoz68=", - "dev": true, - "dependencies": { - "original": "^1.0.0" - }, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz", - "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", - "dev": true, - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1606973416764&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz", - "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=", - "dev": true, - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/express": { - "version": "4.17.1", - "resolved": "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz?cache=0&sync_timestamp=1585184189864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpress%2Fdownload%2Fexpress-4.17.1.tgz", - "integrity": "sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=", - "dev": true, - "dependencies": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/express/node_modules/qs": { - "version": "6.7.0", - "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz", - "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz", - "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=", - "dev": true - }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/external-editor/download/external-editor-3.1.0.tgz", - "integrity": "sha1-ywP3QL764D6k0oPK7SdBqD8zVJU=", - "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz", - "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", - "dev": true, - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true, - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz", - "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", - "dev": true - }, - "node_modules/fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.7.tgz?cache=0&sync_timestamp=1610876640588&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-2.2.7.tgz", - "integrity": "sha1-aVOFfDr6R1//ku5gFdUtpwpM050=", - "dev": true, - "dependencies": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz?cache=0&sync_timestamp=1576340291001&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-json-stable-stringify%2Fdownload%2Ffast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "node_modules/faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.11.3.tgz", - "integrity": "sha1-XA6aiWjokSwoZjn96XeosgnyUI4=", - "dev": true, - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.2.tgz", - "integrity": "sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4=", - "dev": true - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/figures/download/figures-3.2.0.tgz?cache=0&sync_timestamp=1581865349068&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffigures%2Fdownload%2Ffigures-3.2.0.tgz", - "integrity": "sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8=", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-loader": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz", - "integrity": "sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==", - "dev": true, - "dependencies": { - "loader-utils": "^1.2.3", - "schema-utils": "^2.5.0" - }, - "engines": { - "node": ">= 8.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz", - "integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=", - "dev": true, - "optional": true - }, - "node_modules/filesize": { - "version": "3.6.1", - "resolved": "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz?cache=0&sync_timestamp=1582341519531&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffilesize%2Fdownload%2Ffilesize-3.6.1.tgz", - "integrity": "sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc=", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fill-range/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz", - "integrity": "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-3.3.1.tgz", - "integrity": "sha1-ibM/rUpGcNqpT4Vff74x1thP6IA=", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz?cache=0&sync_timestamp=1597169750265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz", - "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", - "dev": true - }, - "node_modules/flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz", - "integrity": "sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug=", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "node_modules/follow-redirects": { - "version": "1.13.3", - "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.13.3.tgz?cache=0&sync_timestamp=1614436958094&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.13.3.tgz", - "integrity": "sha1-5VmK1QF0wbxOhyMB6CrCzZf5Amc=", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz?cache=0&sync_timestamp=1613411079128&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fform-data%2Fdownload%2Fform-data-2.3.3.tgz", - "integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-7.0.1.tgz?cache=0&sync_timestamp=1611075460296&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-7.0.1.tgz", - "integrity": "sha1-TxicRKoSO4lfcigE9V6iPq3DSOk=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.3.2.tgz?cache=0&sync_timestamp=1612536512306&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.3.2.tgz", - "integrity": "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=", - "dev": true, - "optional": true, - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", - "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", - "dev": true - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.2.tgz?cache=0&sync_timestamp=1603829716561&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgensync%2Fdownload%2Fgensync-1.0.0-beta.2.tgz", - "integrity": "sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz", - "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.1.1.tgz", - "integrity": "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz?cache=0&sync_timestamp=1597056461891&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-4.1.0.tgz", - "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz", - "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", - "dev": true - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz?cache=0&sync_timestamp=1616075441021&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobals%2Fdownload%2Fglobals-11.12.0.tgz", - "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "9.2.0", - "resolved": "https://registry.npm.taobao.org/globby/download/globby-9.2.0.tgz?cache=0&sync_timestamp=1616407110746&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-9.2.0.tgz", - "integrity": "sha1-/QKacGxwPSm90XD0tts6P3p8tj0=", - "dev": true, - "dependencies": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz", - "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", - "dev": true - }, - "node_modules/gzip-size": { - "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/gzip-size/download/gzip-size-5.1.1.tgz?cache=0&sync_timestamp=1605523224661&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgzip-size%2Fdownload%2Fgzip-size-5.1.1.tgz", - "integrity": "sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ=", - "dev": true, - "dependencies": { - "duplexer": "^0.1.1", - "pify": "^4.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.1.tgz", - "integrity": "sha1-hX95zjWVgMNA1DCBzGSJcNC7I04=", - "dev": true - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.5.tgz?cache=0&sync_timestamp=1596082652493&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhar-validator%2Fdownload%2Fhar-validator-5.1.5.tgz", - "integrity": "sha1-HwgDufjLIMD6E4It8ezds2veHv0=", - "deprecated": "this library is no longer supported", - "dev": true, - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz", - "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/has-bigints/download/has-bigints-1.0.1.tgz", - "integrity": "sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM=", - "dev": true - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.2.tgz?cache=0&sync_timestamp=1614443617831&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-symbols%2Fdownload%2Fhas-symbols-1.0.2.tgz", - "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/hash-base/download/hash-base-3.1.0.tgz", - "integrity": "sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM=", - "dev": true, - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", - "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/hash-base/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz", - "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", - "dev": true - }, - "node_modules/hash-sum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", - "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", - "dev": true - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz", - "integrity": "sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz", - "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/hex-color-regex/download/hex-color-regex-1.1.0.tgz", - "integrity": "sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4=", - "dev": true - }, - "node_modules/highlight.js": { - "version": "10.7.1", - "resolved": "https://registry.npm.taobao.org/highlight.js/download/highlight.js-10.7.1.tgz", - "integrity": "sha1-qOxBUtsk6mMMkJJ9bK4qRfjsuVU=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/hoopy/download/hoopy-0.1.4.tgz", - "integrity": "sha1-YJIH1mEQADOpqUAq096mdzgcGx0=", - "dev": true, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.8.tgz?cache=0&sync_timestamp=1616081339660&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.8.tgz", - "integrity": "sha1-dTm9S8Hg4KiVgVouAmJCCxKFhIg=", - "dev": true - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/hsl-regex/download/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", - "dev": true - }, - "node_modules/hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/hsla-regex/download/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", - "dev": true - }, - "node_modules/html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.2.tgz", - "integrity": "sha1-l9RoiutcgYhqNk+qDK0d2hTUM6c=", - "dev": true - }, - "node_modules/html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/html-entities/download/html-entities-1.4.0.tgz?cache=0&sync_timestamp=1615814920516&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-entities%2Fdownload%2Fhtml-entities-1.4.0.tgz", - "integrity": "sha1-z70bAdKvr5rcobEK59/6uYxx0tw=", - "dev": true - }, - "node_modules/html-minifier": { - "version": "3.5.21", - "resolved": "https://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.21.tgz", - "integrity": "sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw=", - "dev": true, - "dependencies": { - "camel-case": "3.0.x", - "clean-css": "4.2.x", - "commander": "2.17.x", - "he": "1.2.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.4.x" - }, - "bin": { - "html-minifier": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/html-tags": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-3.1.0.tgz", - "integrity": "sha1-e15vfmZen7QfMAB+2eDUHpf7IUA=", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/html-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz", - "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", - "deprecated": "3.x is no longer supported", - "dev": true, - "dependencies": { - "html-minifier": "^3.2.3", - "loader-utils": "^0.2.16", - "lodash": "^4.17.3", - "pretty-error": "^2.0.2", - "tapable": "^1.0.0", - "toposort": "^1.0.0", - "util.promisify": "1.0.0" - }, - "engines": { - "node": ">=6.9" - }, - "peerDependencies": { - "webpack": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0" - } - }, - "node_modules/html-webpack-plugin/node_modules/big.js": { - "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-3.2.0.tgz", - "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/html-webpack-plugin/node_modules/emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/html-webpack-plugin/node_modules/json5": { - "version": "0.5.1", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/html-webpack-plugin/node_modules/loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz?cache=0&sync_timestamp=1584445207623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-utils%2Fdownload%2Floader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "dependencies": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - }, - "node_modules/htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz?cache=0&sync_timestamp=1615144926274&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-3.10.1.tgz", - "integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=", - "dev": true, - "dependencies": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - } - }, - "node_modules/htmlparser2/node_modules/entities": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz?cache=0&sync_timestamp=1611535562200&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-1.1.2.tgz", - "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=", - "dev": true - }, - "node_modules/htmlparser2/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", - "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "node_modules/http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.2.tgz", - "integrity": "sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=", - "dev": true, - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/http-errors/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "node_modules/http-parser-js": { - "version": "0.5.3", - "resolved": "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.5.3.tgz?cache=0&sync_timestamp=1609539959333&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-parser-js%2Fdownload%2Fhttp-parser-js-0.5.3.tgz", - "integrity": "sha1-AdJwnHnUFpi7AdTezF6dpOSgM9k=", - "dev": true - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npm.taobao.org/http-proxy/download/http-proxy-1.18.1.tgz", - "integrity": "sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=", - "dev": true, - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-middleware": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz", - "integrity": "sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==", - "dev": true, - "dependencies": { - "@types/http-proxy": "^1.17.5", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/http-proxy-middleware/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/http-proxy-middleware/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/http-proxy-middleware/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1600868446752&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/human-signals/download/human-signals-1.1.1.tgz", - "integrity": "sha1-xbHNFPUK6uCatsWf5jujOV/k36M=", - "dev": true, - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz?cache=0&sync_timestamp=1594184266261&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.24.tgz", - "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/icss-utils/download/icss-utils-4.1.1.tgz?cache=0&sync_timestamp=1605801506037&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficss-utils%2Fdownload%2Ficss-utils-4.1.1.tgz", - "integrity": "sha1-IRcLU3ie4nRHwvR91oMIFAP5pGc=", - "dev": true, - "dependencies": { - "postcss": "^7.0.14" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.2.1.tgz?cache=0&sync_timestamp=1603838702791&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fieee754%2Fdownload%2Fieee754-1.2.1.tgz", - "integrity": "sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I=", - "dev": true - }, - "node_modules/iferr": { - "version": "0.1.5", - "resolved": "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz", - "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "dev": true, - "dependencies": { - "import-from": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz?cache=0&sync_timestamp=1608469462038&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-from": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/import-from/download/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "dev": true, - "dependencies": { - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-local": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/import-local/download/import-local-2.0.0.tgz", - "integrity": "sha1-VQcL44pZk88Y72236WH1vuXFoJ0=", - "dev": true, - "dependencies": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1597169750265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz", - "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flocate-path%2Fdownload%2Flocate-path-3.0.0.tgz", - "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz?cache=0&sync_timestamp=1597081369770&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-locate%2Fdownload%2Fp-locate-3.0.0.tgz", - "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-local/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz?cache=0&sync_timestamp=1602858997485&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-3.0.0.tgz", - "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz", - "integrity": "sha1-xM78qo5RBRwqQLos6KPScpWvlGc=", - "dev": true - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz", - "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", - "dev": true - }, - "node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npm.taobao.org/inquirer/download/inquirer-7.3.3.tgz?cache=0&sync_timestamp=1614296916461&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finquirer%2Fdownload%2Finquirer-7.3.3.tgz", - "integrity": "sha1-BNF2sq8Er8FXqD/XwQDpjuCq0AM=", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/inquirer/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611325806500&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz?cache=0&sync_timestamp=1591687018980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/inquirer/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/inquirer/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "node_modules/inquirer/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-4.2.2.tgz?cache=0&sync_timestamp=1614522241573&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-4.2.2.tgz", - "integrity": "sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz", - "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz?cache=0&sync_timestamp=1605885547401&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finternal-ip%2Fdownload%2Finternal-ip-4.3.0.tgz", - "integrity": "sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc=", - "dev": true, - "dependencies": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/internal-ip/node_modules/default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npm.taobao.org/default-gateway/download/default-gateway-4.2.0.tgz?cache=0&sync_timestamp=1610365784356&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefault-gateway%2Fdownload%2Fdefault-gateway-4.2.0.tgz", - "integrity": "sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs=", - "dev": true, - "dependencies": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/ip-regex/download/ip-regex-2.1.0.tgz?cache=0&sync_timestamp=1611327086114&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fip-regex%2Fdownload%2Fip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.1.tgz", - "integrity": "sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz?cache=0&sync_timestamp=1569735663940&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-absolute-url%2Fdownload%2Fis-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-arguments/download/is-arguments-1.1.0.tgz?cache=0&sync_timestamp=1607117583816&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-arguments%2Fdownload%2Fis-arguments-1.1.0.tgz", - "integrity": "sha1-YjUwMd++4HzrNGVqa95Z7+yujdk=", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "node_modules/is-bigint": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-bigint/download/is-bigint-1.0.1.tgz", - "integrity": "sha1-aSMFHfy8dkJ4VAuc4OazITql68I=", - "dev": true - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz", - "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", - "dev": true, - "optional": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-boolean-object/download/is-boolean-object-1.1.0.tgz", - "integrity": "sha1-4qqtOjqPyjTCj27uE1sVbtJYf/A=", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz?cache=0&sync_timestamp=1604429461527&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-buffer%2Fdownload%2Fis-buffer-1.1.6.tgz", - "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", - "dev": true - }, - "node_modules/is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.3.tgz?cache=0&sync_timestamp=1612133035765&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-callable%2Fdownload%2Fis-callable-1.2.3.tgz", - "integrity": "sha1-ix4FALc6HXbHBIdjbzaOUZ3o244=", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/is-ci/download/is-ci-1.2.1.tgz", - "integrity": "sha1-43ecjuF/zPQoSI9uKBGH8uYyhBw=", - "dev": true, - "dependencies": { - "ci-info": "^1.5.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-color-stop/download/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "dev": true, - "dependencies": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, - "node_modules/is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/is-core-module/download/is-core-module-2.2.0.tgz?cache=0&sync_timestamp=1606411565080&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-core-module%2Fdownload%2Fis-core-module-2.2.0.tgz", - "integrity": "sha1-lwN+89UiJNhRY/VZeytj2a/tmBo=", - "dev": true, - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz", - "integrity": "sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-docker": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/is-docker/download/is-docker-2.1.1.tgz", - "integrity": "sha1-QSWojkTkUNOE4JBH7eca3C0UQVY=", - "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", - "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz", - "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/is-negative-zero/download/is-negative-zero-2.0.1.tgz?cache=0&sync_timestamp=1607123132826&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-negative-zero%2Fdownload%2Fis-negative-zero-2.0.1.tgz", - "integrity": "sha1-PedGwY3aIxkkGlNnWQjY92bxHCQ=", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/is-number-object/download/is-number-object-1.0.4.tgz", - "integrity": "sha1-NqyV50HPGLKD/B3fXoPaeY4+wZc=", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-2.0.0.tgz", - "integrity": "sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI=", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-2.2.0.tgz", - "integrity": "sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s=", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha1-v+Lcomxp85cmWkAJljYCk1oFOss=", - "dev": true, - "dependencies": { - "is-path-inside": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-path-inside/download/is-path-inside-2.1.0.tgz", - "integrity": "sha1-fJgQWH1lmkDSe8201WFuqwWUlLI=", - "dev": true, - "dependencies": { - "path-is-inside": "^1.0.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz?cache=0&sync_timestamp=1599667372314&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-object%2Fdownload%2Fis-plain-object-2.0.4.tgz", - "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-regex": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/is-regex/download/is-regex-1.1.2.tgz?cache=0&sync_timestamp=1612217359034&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-regex%2Fdownload%2Fis-regex-1.1.2.tgz", - "integrity": "sha1-gcjr3k2xQvLPHFP8htakV4gmYlE=", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz", - "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=", - "dev": true - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-string": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/is-string/download/is-string-1.0.5.tgz", - "integrity": "sha1-QEk+0ZjvP/R3uMf5L2ROyCpc06Y=", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-svg/download/is-svg-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-svg%2Fdownload%2Fis-svg-3.0.0.tgz", - "integrity": "sha1-kyHb0pwhLlypnE+peUxxS8r6L3U=", - "dev": true, - "dependencies": { - "html-comment-regex": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz", - "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz", - "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-2.2.0.tgz?cache=0&sync_timestamp=1588494413662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-2.2.0.tgz", - "integrity": "sha1-dKTHbnfKn9P5MvKQwX6jJs0VcnE=", - "dev": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "node_modules/javascript-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", - "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", - "dev": true - }, - "node_modules/jest-worker": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", - "dev": true, - "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/js-message": { - "version": "1.0.7", - "resolved": "https://registry.npm.taobao.org/js-message/download/js-message-1.0.7.tgz", - "integrity": "sha1-+93QU8ekcCGHG7iyyVOXzBfCDkc=", - "dev": true, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/js-queue": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/js-queue/download/js-queue-2.0.2.tgz?cache=0&sync_timestamp=1605129253735&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-queue%2Fdownload%2Fjs-queue-2.0.2.tgz", - "integrity": "sha1-C+WQM4+QOzbHPTPDGIOoIUEs1II=", - "dev": true, - "dependencies": { - "easy-stack": "^1.0.1" - }, - "engines": { - "node": ">=1.0.0" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz?cache=0&sync_timestamp=1586796260005&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-tokens%2Fdownload%2Fjs-tokens-4.0.0.tgz", - "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", - "dev": true - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.1.tgz?cache=0&sync_timestamp=1609680185552&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.1.tgz", - "integrity": "sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz?cache=0&sync_timestamp=1603891215549&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsesc%2Fdownload%2Fjsesc-2.5.2.tgz", - "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=", - "dev": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npm.taobao.org/json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0=", - "dev": true - }, - "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz?cache=0&sync_timestamp=1609553838875&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema%2Fdownload%2Fjson-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1607999852153&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz", - "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "node_modules/json3": { - "version": "3.3.3", - "resolved": "https://registry.npm.taobao.org/json3/download/json3-3.3.3.tgz", - "integrity": "sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E=", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz", - "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz?cache=0&sync_timestamp=1604161824632&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonfile%2Fdownload%2Fjsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "node_modules/killable": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/killable/download/killable-1.0.1.tgz", - "integrity": "sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI=", - "dev": true - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", - "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/launch-editor": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/launch-editor/download/launch-editor-2.2.1.tgz", - "integrity": "sha1-hxtaPuOdZoD8wm03kwtu7aidsMo=", - "dev": true, - "dependencies": { - "chalk": "^2.3.0", - "shell-quote": "^1.6.1" - } - }, - "node_modules/launch-editor-middleware": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/launch-editor-middleware/download/launch-editor-middleware-2.2.1.tgz", - "integrity": "sha1-4UsH5scVSwpLhqD9NFeE5FgEwVc=", - "dev": true, - "dependencies": { - "launch-editor": "^2.2.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "node_modules/loader-fs-cache": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/loader-fs-cache/download/loader-fs-cache-1.0.3.tgz", - "integrity": "sha1-8IZXZG1gcHi+LwoDL4vWndbyd9k=", - "dev": true, - "dependencies": { - "find-cache-dir": "^0.1.1", - "mkdirp": "^0.5.1" - } - }, - "node_modules/loader-fs-cache/node_modules/find-cache-dir": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz", - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loader-fs-cache/node_modules/find-up": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz?cache=0&sync_timestamp=1597169750265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "dependencies": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loader-fs-cache/node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "dependencies": { - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loader-fs-cache/node_modules/pkg-dir": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-1.0.0.tgz?cache=0&sync_timestamp=1602858997485&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", - "dev": true, - "dependencies": { - "find-up": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz?cache=0&sync_timestamp=1610027908268&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-runner%2Fdownload%2Floader-runner-2.4.0.tgz", - "integrity": "sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c=", - "dev": true, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz?cache=0&sync_timestamp=1584445207623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-utils%2Fdownload%2Floader-utils-1.4.0.tgz", - "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/loader-utils/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz", - "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flocate-path%2Fdownload%2Flocate-path-5.0.0.tgz", - "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.21.tgz", - "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", - "dev": true - }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npm.taobao.org/lodash.debounce/download/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "node_modules/lodash.defaultsdeep": { - "version": "4.6.1", - "resolved": "https://registry.npm.taobao.org/lodash.defaultsdeep/download/lodash.defaultsdeep-4.6.1.tgz?cache=0&sync_timestamp=1562718717933&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash.defaultsdeep%2Fdownload%2Flodash.defaultsdeep-4.6.1.tgz", - "integrity": "sha1-US6b1yHSctlOPTpjZT+hdRZ0HKY=", - "dev": true - }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", - "dev": true - }, - "node_modules/lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/lodash.kebabcase/download/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", - "dev": true - }, - "node_modules/lodash.mapvalues": { - "version": "4.6.0", - "resolved": "https://registry.npm.taobao.org/lodash.mapvalues/download/lodash.mapvalues-4.6.0.tgz", - "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", - "dev": true - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "node_modules/lodash.transform": { - "version": "4.6.0", - "resolved": "https://registry.npm.taobao.org/lodash.transform/download/lodash.transform-4.6.0.tgz", - "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=", - "dev": true - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "dev": true - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "node_modules/log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-2.2.0.tgz", - "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=", - "dev": true, - "dependencies": { - "chalk": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/loglevel": { - "version": "1.7.1", - "resolved": "https://registry.npm.taobao.org/loglevel/download/loglevel-1.7.1.tgz?cache=0&sync_timestamp=1606312226891&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floglevel%2Fdownload%2Floglevel-1.7.1.tgz", - "integrity": "sha1-AF/eL15uRwaPk1/yhXPhJe9y8Zc=", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz?cache=0&sync_timestamp=1606869726575&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flower-case%2Fdownload%2Flower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz?cache=0&sync_timestamp=1594427614275&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-5.1.1.tgz", - "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz", - "integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz", - "integrity": "sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=", - "dev": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.4.tgz", - "integrity": "sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs=", - "dev": true - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "node_modules/merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/merge-source-map/download/merge-source-map-1.1.0.tgz", - "integrity": "sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=", - "dev": true, - "dependencies": { - "source-map": "^0.6.1" - } - }, - "node_modules/merge-source-map/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz", - "integrity": "sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A=", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz", - "integrity": "sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-3.1.10.tgz", - "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz", - "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", - "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" - } - }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, - "node_modules/mime": { - "version": "2.5.2", - "resolved": "https://registry.npm.taobao.org/mime/download/mime-2.5.2.tgz?cache=0&sync_timestamp=1613584838235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-2.5.2.tgz", - "integrity": "sha1-bj3GzCuVEGQ4MOXxnVy3U9pe6r4=", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mime-db": { - "version": "1.46.0", - "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.46.0.tgz", - "integrity": "sha1-Ymd0in95lZTePLyM3pHe80lmHO4=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.29", - "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.29.tgz?cache=0&sync_timestamp=1613608491741&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.29.tgz", - "integrity": "sha1-HUq3faZLkfX3JInfKSNlY3VLsbI=", - "dev": true, - "dependencies": { - "mime-db": "1.46.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz?cache=0&sync_timestamp=1596094003090&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-2.1.0.tgz", - "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", - "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", - "dev": true, - "dependencies": { - "loader-utils": "^1.1.0", - "normalize-url": "1.9.1", - "schema-utils": "^1.0.0", - "webpack-sources": "^1.1.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.4.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz", - "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=", - "dev": true - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz", - "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=", - "dev": true - }, - "node_modules/minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz", - "integrity": "sha1-6goykfl+C16HdrNj1fChLZTGcCI=", - "dev": true, - "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz", - "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=", - "dev": true, - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz", - "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "dependencies": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - }, - "node_modules/multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npm.taobao.org/multicast-dns/download/multicast-dns-6.2.3.tgz", - "integrity": "sha1-oOx72QVcQoL3kMPIL04o2zsxsik=", - "dev": true, - "dependencies": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.8.tgz", - "integrity": "sha1-FjDEKyJR/4HiooPelqVJfqkuXg0=", - "dev": true - }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npm.taobao.org/mz/download/mz-2.7.0.tgz", - "integrity": "sha1-lQCAV6Vsr63CvGPd5/n/aVWUjjI=", - "dev": true, - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/nan": { - "version": "2.14.2", - "resolved": "https://registry.npm.taobao.org/nan/download/nan-2.14.2.tgz?cache=0&sync_timestamp=1602591595921&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnan%2Fdownload%2Fnan-2.14.2.tgz", - "integrity": "sha1-9TdkAGlRaPTMaUrJOT0MlYXu6hk=", - "dev": true, - "optional": true - }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz", - "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "node_modules/negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz", - "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz?cache=0&sync_timestamp=1594317416459&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fneo-async%2Fdownload%2Fneo-async-2.6.2.tgz", - "integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8=", - "dev": true - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz", - "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=", - "dev": true - }, - "node_modules/no-case": { - "version": "2.3.2", - "resolved": "https://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz?cache=0&sync_timestamp=1606869671099&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fno-case%2Fdownload%2Fno-case-2.3.2.tgz", - "integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=", - "dev": true, - "dependencies": { - "lower-case": "^1.1.1" - } - }, - "node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npm.taobao.org/node-forge/download/node-forge-0.10.0.tgz?cache=0&sync_timestamp=1599010928186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-forge%2Fdownload%2Fnode-forge-0.10.0.tgz", - "integrity": "sha1-Mt6ir7Ppkm8C7lzoeUkCaRpna/M=", - "dev": true, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/node-ipc": { - "version": "9.1.4", - "resolved": "https://registry.npm.taobao.org/node-ipc/download/node-ipc-9.1.4.tgz?cache=0&sync_timestamp=1614360292509&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-ipc%2Fdownload%2Fnode-ipc-9.1.4.tgz", - "integrity": "sha1-Ks+WJoGv2sJgKHbZj+ZDTVTZvTw=", - "dev": true, - "dependencies": { - "event-pubsub": "4.3.0", - "js-message": "1.0.7", - "js-queue": "2.0.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz", - "integrity": "sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU=", - "dev": true, - "dependencies": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - } - }, - "node_modules/node-libs-browser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "node_modules/node-releases": { - "version": "1.1.71", - "resolved": "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.71.tgz?cache=0&sync_timestamp=1614109281105&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.71.tgz", - "integrity": "sha1-yxM0sXmJaxyJ7P3UtyX7e738fbs=", - "dev": true - }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz?cache=0&sync_timestamp=1616086903193&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-package-data%2Fdownload%2Fnormalize-package-data-2.5.0.tgz", - "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1606851857382&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", - "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", - "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "dependencies": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz", - "integrity": "sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=", - "dev": true, - "dependencies": { - "boolbase": "~1.0.0" - } - }, - "node_modules/num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz", - "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/object-hash/download/object-hash-1.3.1.tgz", - "integrity": "sha1-/eRSCYqVHLFF8Dm7fUVUSd3BJt8=", - "dev": true, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.9.0.tgz?cache=0&sync_timestamp=1606804315827&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.9.0.tgz", - "integrity": "sha1-yQUh104RJ7ZyZt7TOUrWEWmGUzo=", - "dev": true - }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npm.taobao.org/object-is/download/object-is-1.1.5.tgz?cache=0&sync_timestamp=1613857652230&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-is%2Fdownload%2Fobject-is-1.1.5.tgz", - "integrity": "sha1-ud7qpfx/GEag+uzc7sE45XePU6w=", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", - "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.2.tgz?cache=0&sync_timestamp=1604117098938&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.assign%2Fdownload%2Fobject.assign-4.1.2.tgz", - "integrity": "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.2.tgz?cache=0&sync_timestamp=1613860226109&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.getownpropertydescriptors%2Fdownload%2Fobject.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha1-G9Y66s8NXS0vMbXjk7A6fGAaI/c=", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.values": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/object.values/download/object.values-1.1.3.tgz", - "integrity": "sha1-6qix4XWJ8C9pjbCT98Yu4WmXQu4=", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/obuf/download/obuf-1.1.2.tgz", - "integrity": "sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=", - "dev": true - }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/on-headers/download/on-headers-1.0.2.tgz", - "integrity": "sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-5.1.2.tgz?cache=0&sync_timestamp=1597003442669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fonetime%2Fdownload%2Fonetime-5.1.2.tgz", - "integrity": "sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4=", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/open": { - "version": "6.4.0", - "resolved": "https://registry.npm.taobao.org/open/download/open-6.4.0.tgz", - "integrity": "sha1-XBPpbQ3IlGhhZPGJZez+iJ7PyKk=", - "dev": true, - "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/open/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz?cache=0&sync_timestamp=1588494413662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npm.taobao.org/opener/download/opener-1.5.2.tgz?cache=0&sync_timestamp=1598732797840&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopener%2Fdownload%2Fopener-1.5.2.tgz", - "integrity": "sha1-XTfh81B3udysQwE3InGv3rKhNZg=", - "dev": true, - "bin": { - "opener": "bin/opener-bin.js" - } - }, - "node_modules/opn": { - "version": "5.5.0", - "resolved": "https://registry.npm.taobao.org/opn/download/opn-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopn%2Fdownload%2Fopn-5.5.0.tgz", - "integrity": "sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w=", - "dev": true, - "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/opn/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz?cache=0&sync_timestamp=1588494413662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/ora": { - "version": "3.4.0", - "resolved": "https://registry.npm.taobao.org/ora/download/ora-3.4.0.tgz", - "integrity": "sha1-vwdSSRBZo+8+1MhQl1Md6f280xg=", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-spinners": "^2.0.0", - "log-symbols": "^2.2.0", - "strip-ansi": "^5.2.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ora/node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "dependencies": { - "restore-cursor": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ora/node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz?cache=0&sync_timestamp=1596094003090&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-1.2.0.tgz", - "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ora/node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz?cache=0&sync_timestamp=1597003442669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fonetime%2Fdownload%2Fonetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ora/node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/original": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/original/download/original-1.0.2.tgz", - "integrity": "sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8=", - "dev": true, - "dependencies": { - "url-parse": "^1.4.3" - } - }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1606288806475&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz", - "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz?cache=0&sync_timestamp=1597081369770&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-locate%2Fdownload%2Fp-locate-4.1.0.tgz", - "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/p-map/download/p-map-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-map%2Fdownload%2Fp-map-2.1.0.tgz", - "integrity": "sha1-MQko/u+cnsxltosXaTAYpmXOoXU=", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/p-retry/download/p-retry-3.0.1.tgz?cache=0&sync_timestamp=1613394498681&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-retry%2Fdownload%2Fp-retry-3.0.1.tgz", - "integrity": "sha1-MWtMiJPiyNwc+okfQGxLQivr8yg=", - "dev": true, - "dependencies": { - "retry": "^0.12.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz", - "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npm.taobao.org/pako/download/pako-1.0.11.tgz?cache=0&sync_timestamp=1610208884754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpako%2Fdownload%2Fpako-1.0.11.tgz", - "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=", - "dev": true - }, - "node_modules/parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.2.0.tgz", - "integrity": "sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw=", - "dev": true, - "dependencies": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "node_modules/param-case": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz?cache=0&sync_timestamp=1606867782594&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparam-case%2Fdownload%2Fparam-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "dependencies": { - "no-case": "^2.2.0" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz", - "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz", - "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.6.tgz?cache=0&sync_timestamp=1597165669703&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-asn1%2Fdownload%2Fparse-asn1-5.1.6.tgz", - "integrity": "sha1-OFCAo+wTy2KmLTlAnLPoiETNrtQ=", - "dev": true, - "dependencies": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz?cache=0&sync_timestamp=1610966654792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parse5": { - "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-5.1.1.tgz?cache=0&sync_timestamp=1595850937464&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse5%2Fdownload%2Fparse5-5.1.1.tgz", - "integrity": "sha1-9o5OW6GFKsLK3AD0VV//bCq7YXg=", - "dev": true - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npm.taobao.org/parse5-htmlparser2-tree-adapter/download/parse5-htmlparser2-tree-adapter-6.0.1.tgz?cache=0&sync_timestamp=1596089881005&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse5-htmlparser2-tree-adapter%2Fdownload%2Fparse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha1-LN+a2CMyEUA3DU2/XT6Sx8jdxuY=", - "dev": true, - "dependencies": { - "parse5": "^6.0.1" - } - }, - "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-6.0.1.tgz?cache=0&sync_timestamp=1595850937464&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse5%2Fdownload%2Fparse5-6.0.1.tgz", - "integrity": "sha1-4aHAhcVps9wIMhGE8Zo5zCf3wws=", - "dev": true - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz", - "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz?cache=0&sync_timestamp=1583254392335&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-browserify%2Fdownload%2Fpath-browserify-0.0.1.tgz", - "integrity": "sha1-5sTd1+06onxoogzE5Q4aTug7vEo=", - "dev": true - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz", - "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=", - "dev": true - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz?cache=0&sync_timestamp=1611752058913&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-type%2Fdownload%2Fpath-type-3.0.0.tgz", - "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/path-type/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpbkdf2%2Fdownload%2Fpbkdf2-3.1.1.tgz", - "integrity": "sha1-y4cksPramEWWhW0abrr9NYRlS5Q=", - "dev": true, - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", - "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz", - "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-4.2.0.tgz?cache=0&sync_timestamp=1602858997485&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-4.2.0.tgz", - "integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pnp-webpack-plugin": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", - "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", - "dev": true, - "dependencies": { - "ts-pnp": "^1.1.6" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.28.tgz?cache=0&sync_timestamp=1596018240041&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fportfinder%2Fdownload%2Fportfinder-1.0.28.tgz", - "integrity": "sha1-Z8RiKFK9U3TdHdkA93n1NGL6x3g=", - "dev": true, - "dependencies": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/portfinder/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.7.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.7.tgz", - "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.35.tgz", - "integrity": "sha1-0r4AuZj38hHYonaXQHny6SuXDiQ=", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-calc": { - "version": "7.0.5", - "resolved": "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-7.0.5.tgz?cache=0&sync_timestamp=1609689403481&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-calc%2Fdownload%2Fpostcss-calc-7.0.5.tgz", - "integrity": "sha1-+KbpnxLmGcLrwjz2xIb9wVhgkz4=", - "dev": true, - "dependencies": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - } - }, - "node_modules/postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-4.0.3.tgz", - "integrity": "sha1-rgYLzpPteUrHEmTwgTLVUJVr04E=", - "dev": true, - "dependencies": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-colormin/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - }, - "node_modules/postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz", - "integrity": "sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8=", - "dev": true, - "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-convert-values/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - }, - "node_modules/postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha1-H7q9LCRr/2qq15l7KwkY9NevQDM=", - "dev": true, - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha1-P+EzzTyCKC5VD8myORdqkge3hOs=", - "dev": true, - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha1-yMlR6fc+2UKAGUWERKAq2Qu592U=", - "dev": true, - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha1-ZSrvipZybwKfXj4AFG7npOdV/1c=", - "dev": true, - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-load-config": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-2.1.2.tgz?cache=0&sync_timestamp=1612743171132&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-load-config%2Fdownload%2Fpostcss-load-config-2.1.2.tgz", - "integrity": "sha1-xepQTyxK7zPHNZo03jVzdyrXUCo=", - "dev": true, - "dependencies": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/postcss-loader/download/postcss-loader-3.0.0.tgz", - "integrity": "sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0=", - "dev": true, - "dependencies": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss-loader/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1601922224938&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz", - "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", - "dev": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ=", - "dev": true, - "dependencies": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-merge-longhand/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - }, - "node_modules/postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha1-NivqT/Wh+Y5AdacTxsslrv75plA=", - "dev": true, - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&sync_timestamp=1601045461414&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", - "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", - "dev": true, - "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY=", - "dev": true, - "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-minify-font-values/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - }, - "node_modules/postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE=", - "dev": true, - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-minify-gradients/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - }, - "node_modules/postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz", - "integrity": "sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ=", - "dev": true, - "dependencies": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-minify-params/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - }, - "node_modules/postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g=", - "dev": true, - "dependencies": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&sync_timestamp=1601045461414&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", - "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", - "dev": true, - "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-2.0.0.tgz?cache=0&sync_timestamp=1602588177787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-extract-imports%2Fdownload%2Fpostcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha1-gYcZoa4doyX5gyRGsBE27rSTzX4=", - "dev": true, - "dependencies": { - "postcss": "^7.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-3.0.3.tgz?cache=0&sync_timestamp=1602587565462&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-3.0.3.tgz", - "integrity": "sha1-uxTgzHgnnVBNvcv9fgyiiZP/u7A=", - "dev": true, - "dependencies": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.32", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss-modules-scope": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-2.2.0.tgz?cache=0&sync_timestamp=1602593177072&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-scope%2Fdownload%2Fpostcss-modules-scope-2.2.0.tgz", - "integrity": "sha1-OFyuATzHdD9afXYC0Qc6iequYu4=", - "dev": true, - "dependencies": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss-modules-values": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-3.0.0.tgz?cache=0&sync_timestamp=1602586198892&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-values%2Fdownload%2Fpostcss-modules-values-3.0.0.tgz", - "integrity": "sha1-W1AA1uuuKbQlUwG0o6VFdEI+fxA=", - "dev": true, - "dependencies": { - "icss-utils": "^4.0.0", - "postcss": "^7.0.6" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha1-izWt067oOhNrBHHg1ZvlilAoXdQ=", - "dev": true, - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha1-Db4EpM6QY9RmftK+R2u4MMglk1o=", - "dev": true, - "dependencies": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-display-values/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - }, - "node_modules/postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-positions/download/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8=", - "dev": true, - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-positions/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw=", - "dev": true, - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-repeat-style/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - }, - "node_modules/postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw=", - "dev": true, - "dependencies": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-string/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha1-jgCcoqOUnNr4rSPmtquZy159KNk=", - "dev": true, - "dependencies": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-timing-functions/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - }, - "node_modules/postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs=", - "dev": true, - "dependencies": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-unicode/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - }, - "node_modules/postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE=", - "dev": true, - "dependencies": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-url/node_modules/normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz?cache=0&sync_timestamp=1602432435724&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-url%2Fdownload%2Fnormalize-url-3.3.0.tgz", - "integrity": "sha1-suHE3E98bVd0PfczpPWXjRhlBVk=", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/postcss-normalize-url/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - }, - "node_modules/postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI=", - "dev": true, - "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-whitespace/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - }, - "node_modules/postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4=", - "dev": true, - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-ordered-values/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - }, - "node_modules/postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha1-f9QuvqXpyBRgljniwuhK4nC6SN8=", - "dev": true, - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha1-F++kBerMbge+NBSlyi0QdGgdTik=", - "dev": true, - "dependencies": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-reduce-transforms/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.4", - "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-6.0.4.tgz?cache=0&sync_timestamp=1601045461414&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.4.tgz", - "integrity": "sha1-VgdaE4CgRgTDiwY+p3Z6Epr1wrM=", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.2.tgz", - "integrity": "sha1-F7mXvHEbMzurFDqu07jT1uPTglg=", - "dev": true, - "dependencies": { - "is-svg": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-svgo/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - }, - "node_modules/postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w=", - "dev": true, - "dependencies": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-4.1.0.tgz", - "integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss=", - "dev": true - }, - "node_modules/postcss/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz", - "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npm.taobao.org/prettier/download/prettier-1.19.1.tgz?cache=0&sync_timestamp=1606521150228&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprettier%2Fdownload%2Fprettier-1.19.1.tgz", - "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=", - "dev": true, - "optional": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pretty-error": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.2.tgz?cache=0&sync_timestamp=1609589327290&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-error%2Fdownload%2Fpretty-error-2.1.2.tgz", - "integrity": "sha1-von4LYGxyG7I/fvDhQRYgnJ/k7Y=", - "dev": true, - "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^2.0.4" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz", - "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=", - "dev": true - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz", - "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "node_modules/proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz", - "integrity": "sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8=", - "dev": true, - "dependencies": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz?cache=0&sync_timestamp=1585143008124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpsl%2Fdownload%2Fpsl-1.8.0.tgz", - "integrity": "sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ=", - "dev": true - }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz", - "integrity": "sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA=", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz", - "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz", - "integrity": "sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=", - "dev": true, - "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, - "node_modules/pumpify/node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz", - "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", - "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true, - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz", - "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "dev": true, - "dependencies": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/querystringify/download/querystringify-2.2.0.tgz?cache=0&sync_timestamp=1597686695751&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquerystringify%2Fdownload%2Fquerystringify-2.2.0.tgz", - "integrity": "sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y=", - "dev": true - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz", - "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz", - "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=", - "dev": true, - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz", - "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.0.tgz", - "integrity": "sha1-oc5vucm8NWylLoklarWQWeE9AzI=", - "dev": true, - "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-5.2.0.tgz", - "integrity": "sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-5.2.0.tgz?cache=0&sync_timestamp=1610966654792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-5.2.0.tgz", - "integrity": "sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npm.taobao.org/type-fest/download/type-fest-0.6.0.tgz", - "integrity": "sha1-jSojcNPfiG61yQraHFv2GIrPg4s=", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", - "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-3.5.0.tgz", - "integrity": "sha1-m6dMAZsV02UnjS6Ru4xI17TULJ4=", - "dev": true, - "optional": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.2.tgz?cache=0&sync_timestamp=1604218535967&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerate%2Fdownload%2Fregenerate-1.4.2.tgz", - "integrity": "sha1-uTRtiCfo9aMve6KWN9OYtpAUhIo=", - "dev": true - }, - "node_modules/regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerate-unicode-properties%2Fdownload%2Fregenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha1-5d5xEdZV57pgwFfb6f83yH5lzew=", - "dev": true, - "dependencies": { - "regenerate": "^1.4.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz?cache=0&sync_timestamp=1595456023687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.7.tgz", - "integrity": "sha1-ysLazIoepnX+qrrriugziYrkb1U=", - "dev": true - }, - "node_modules/regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.14.5.tgz?cache=0&sync_timestamp=1593557458064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-transform%2Fdownload%2Fregenerator-transform-0.14.5.tgz", - "integrity": "sha1-yY2hVGg2ccnE3LFuznNlF+G3/rQ=", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz", - "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", - "dev": true, - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz?cache=0&sync_timestamp=1610725705400&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexp.prototype.flags%2Fdownload%2Fregexp.prototype.flags-1.3.1.tgz", - "integrity": "sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY=", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-4.7.1.tgz?cache=0&sync_timestamp=1600413475854&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexpu-core%2Fdownload%2Fregexpu-core-4.7.1.tgz", - "integrity": "sha1-LepamgcjMpj78NuR+pq8TG4PitY=", - "dev": true, - "dependencies": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npm.taobao.org/regjsgen/download/regjsgen-0.5.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregjsgen%2Fdownload%2Fregjsgen-0.5.2.tgz", - "integrity": "sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM=", - "dev": true - }, - "node_modules/regjsparser": { - "version": "0.6.7", - "resolved": "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.6.7.tgz", - "integrity": "sha1-wAFk4eZxPC4+5kHxcBxLeqCn+Gw=", - "dev": true, - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz?cache=0&sync_timestamp=1603891215549&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsesc%2Fdownload%2Fjsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "node_modules/renderkid": { - "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/renderkid/download/renderkid-2.0.5.tgz?cache=0&sync_timestamp=1609588540446&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frenderkid%2Fdownload%2Frenderkid-2.0.5.tgz", - "integrity": "sha1-SDsaxZxmAaswp6WWpZZcq8z90KU=", - "dev": true, - "dependencies": { - "css-select": "^2.0.2", - "dom-converter": "^0.2", - "htmlparser2": "^3.10.1", - "lodash": "^4.17.20", - "strip-ansi": "^3.0.0" - } - }, - "node_modules/renderkid/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/renderkid/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz", - "integrity": "sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz", - "integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dev": true, - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz", - "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", - "dev": true - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "node_modules/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz", - "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=", - "dev": true, - "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "node_modules/resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "dependencies": { - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", - "dev": true - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-3.1.0.tgz", - "integrity": "sha1-OfZ8VLOnpYzqUjbZXPADQjljH34=", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz?cache=0&sync_timestamp=1613003036585&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fret%2Fdownload%2Fret-0.1.15.tgz", - "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", - "dev": true, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/rgb-regex/download/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", - "dev": true - }, - "node_modules/rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", - "dev": true - }, - "node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz", - "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz", - "integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=", - "dev": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npm.taobao.org/run-async/download/run-async-2.4.1.tgz", - "integrity": "sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU=", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "dependencies": { - "aproba": "^1.1.1" - } - }, - "node_modules/rxjs": { - "version": "6.6.6", - "resolved": "https://registry.npm.taobao.org/rxjs/download/rxjs-6.6.6.tgz", - "integrity": "sha1-FNhBeqWgfF5jOZW1JeHjwN7AO3A=", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", - "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", - "dev": true - }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz", - "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", - "dev": true - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz", - "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", - "dev": true - }, - "node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-2.7.1.tgz?cache=0&sync_timestamp=1601922224938&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-2.7.1.tgz", - "integrity": "sha1-HKTzLRskxZDCA7jnpQvw6kzTlNc=", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 8.9.0" - } - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "node_modules/selfsigned": { - "version": "1.10.8", - "resolved": "https://registry.npm.taobao.org/selfsigned/download/selfsigned-1.10.8.tgz?cache=0&sync_timestamp=1600186146412&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fselfsigned%2Fdownload%2Fselfsigned-1.10.8.tgz", - "integrity": "sha1-DRcgi30Swz+OrIXEGDXyf8PYGjA=", - "dev": true, - "dependencies": { - "node-forge": "^0.10.0" - } - }, - "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1606851857382&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/send": { - "version": "0.17.1", - "resolved": "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz", - "integrity": "sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/send/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1613584838235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz", - "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.1.tgz", - "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", - "dev": true - }, - "node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-4.0.0.tgz?cache=0&sync_timestamp=1599742605902&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-4.0.0.tgz", - "integrity": "sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao=", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz", - "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", - "dev": true - }, - "node_modules/serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz", - "integrity": "sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=", - "dev": true, - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz", - "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz", - "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=", - "dev": true - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz", - "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npm.taobao.org/shell-quote/download/shell-quote-1.7.2.tgz", - "integrity": "sha1-Z6fQLHbJ2iT5nSCAj8re0ODgS+I=", - "dev": true - }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz", - "integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=", - "dev": true - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npm.taobao.org/simple-swizzle/download/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dev": true, - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.3.2.tgz", - "integrity": "sha1-RXSirlb3qyBolvtDHq7tBm/fjwM=", - "dev": true - }, - "node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz", - "integrity": "sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q=", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/slice-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz", - "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", - "dev": true, - "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz", - "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", - "dev": true, - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz", - "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", - "dev": true, - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npm.taobao.org/sockjs/download/sockjs-0.3.21.tgz?cache=0&sync_timestamp=1596167687472&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsockjs%2Fdownload%2Fsockjs-0.3.21.tgz", - "integrity": "sha1-s0/7mOeWkwtgoM+hGQTWozmn1Bc=", - "dev": true, - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/sockjs-client": { - "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.5.0.tgz?cache=0&sync_timestamp=1596409997705&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsockjs-client%2Fdownload%2Fsockjs-client-1.5.0.tgz", - "integrity": "sha1-L4/11LZZ4NCS96ugt8OGvSqiCt0=", - "dev": true, - "dependencies": { - "debug": "^3.2.6", - "eventsource": "^1.0.7", - "faye-websocket": "^0.11.3", - "inherits": "^2.0.4", - "json3": "^3.3.3", - "url-parse": "^1.4.7" - } - }, - "node_modules/sockjs-client/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.7.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.7.tgz", - "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, - "dependencies": { - "is-plain-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sort-keys/node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz", - "integrity": "sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ=", - "dev": true - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.3.tgz", - "integrity": "sha1-GQhmvs51U+H48mei7oLGBrVQmho=", - "dev": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&sync_timestamp=1587719517036&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz", - "integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.1.tgz?cache=0&sync_timestamp=1612210508484&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-url%2Fdownload%2Fsource-map-url-0.4.1.tgz", - "integrity": "sha1-CvZmBadFpaL5HPG7+KevvCg97FY=", - "dev": true - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.1.tgz", - "integrity": "sha1-3s6BrJweZxPl99G28X1Gj6U9iak=", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz", - "integrity": "sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0=", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.7.tgz?cache=0&sync_timestamp=1606610954359&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-license-ids%2Fdownload%2Fspdx-license-ids-3.0.7.tgz", - "integrity": "sha1-6cGKQQ5e1+EkQqVJ+9ivp2cDjWU=", - "dev": true - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/spdy/download/spdy-4.0.2.tgz", - "integrity": "sha1-t09GYgOj7aRSwCSSuR+56EonZ3s=", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/spdy-transport/download/spdy-transport-3.0.0.tgz", - "integrity": "sha1-ANSGOmQArXXfkzYaFghgXl3NzzE=", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/spdy-transport/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", - "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz", - "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", - "dev": true, - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz", - "integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=", - "dev": true, - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ssri": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", - "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", - "dev": true, - "dependencies": { - "figgy-pudding": "^3.5.1", - "minipass": "^3.1.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npm.taobao.org/stable/download/stable-0.1.8.tgz", - "integrity": "sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88=", - "dev": true - }, - "node_modules/stackframe": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/stackframe/download/stackframe-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstackframe%2Fdownload%2Fstackframe-1.2.0.tgz", - "integrity": "sha1-UkKUktY8YuuYmATBFVLj0i53kwM=", - "dev": true - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz?cache=0&sync_timestamp=1609653972997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstatuses%2Fdownload%2Fstatuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz?cache=0&sync_timestamp=1587041581155&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-browserify%2Fdownload%2Fstream-browserify-2.0.2.tgz", - "integrity": "sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs=", - "dev": true, - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz", - "integrity": "sha1-6+J6DDibBPvMIzZClS4Qcxr6m64=", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz?cache=0&sync_timestamp=1588701115133&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-http%2Fdownload%2Fstream-http-2.8.3.tgz", - "integrity": "sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=", - "dev": true, - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz", - "integrity": "sha1-1wiCgVWasneEJCebCHfaPDktWj0=", - "dev": true - }, - "node_modules/strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz?cache=0&sync_timestamp=1614522241573&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-2.1.1.tgz", - "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", - "dev": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha1-51rpDClCxjUEaGwYsoe0oLGkX4A=", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.4.tgz?cache=0&sync_timestamp=1614127357785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.4.tgz", - "integrity": "sha1-s2OZr0qymZtMnGSL16P7K7Jv7u0=", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/strip-final-newline/download/strip-final-newline-2.0.0.tgz", - "integrity": "sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0=", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/strip-indent/download/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-3.1.1.tgz", - "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/stylehacks/download/stylehacks-4.0.3.tgz", - "integrity": "sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU=", - "dev": true, - "dependencies": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/stylehacks/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&sync_timestamp=1601045461414&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", - "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", - "dev": true, - "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", - "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/svg-tags": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/svg-tags/download/svg-tags-1.0.0.tgz", - "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", - "dev": true - }, - "node_modules/svgo": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/svgo/download/svgo-1.3.2.tgz?cache=0&sync_timestamp=1615306626645&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsvgo%2Fdownload%2Fsvgo-1.3.2.tgz", - "integrity": "sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc=", - "dev": true, - "dependencies": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/table": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/table/-/table-6.0.9.tgz", - "integrity": "sha512-F3cLs9a3hL1Z7N4+EkSscsel3z55XT950AvB05bwayrNg5T1/gykXtigioTAjbltvbMSJvvhFCbnf6mX+ntnJQ==", - "dev": true, - "dependencies": { - "ajv": "^8.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "lodash.clonedeep": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.0.3.tgz", - "integrity": "sha512-Df6NAivu9KpZw+q8ySijAgLvr1mUA5ihkRvCLCxpdYR21ann5yIuN+PpFxmweSj7i3yjJ0x5LN5KVs0RRzskAQ==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/table/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/table/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/table/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz?cache=0&sync_timestamp=1607089091087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftapable%2Fdownload%2Ftapable-1.1.3.tgz", - "integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I=", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "4.8.0", - "resolved": "https://registry.npm.taobao.org/terser/download/terser-4.8.0.tgz?cache=0&sync_timestamp=1616002211535&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser%2Fdownload%2Fterser-4.8.0.tgz", - "integrity": "sha1-YwVjQ9fHC7KfOvZlhlpG/gOg3xc=", - "dev": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser-webpack-plugin/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser-webpack-plugin/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/terser-webpack-plugin/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser-webpack-plugin/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser-webpack-plugin/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser-webpack-plugin/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/terser-webpack-plugin/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/terser-webpack-plugin/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/terser-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", - "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", - "dev": true - }, - "node_modules/terser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/thenify/download/thenify-3.3.1.tgz?cache=0&sync_timestamp=1592413493572&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthenify%2Fdownload%2Fthenify-3.3.1.tgz", - "integrity": "sha1-iTLmhqQGYDigFt2eLKRq3Zg4qV8=", - "dev": true, - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npm.taobao.org/thenify-all/download/thenify-all-1.6.0.tgz", - "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", - "dev": true, - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/thread-loader": { - "version": "2.1.3", - "resolved": "https://registry.npm.taobao.org/thread-loader/download/thread-loader-2.1.3.tgz?cache=0&sync_timestamp=1603809370428&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthread-loader%2Fdownload%2Fthread-loader-2.1.3.tgz", - "integrity": "sha1-y9LBOfwrLebp0o9iKGq3cMGsvdo=", - "dev": true, - "dependencies": { - "loader-runner": "^2.3.1", - "loader-utils": "^1.1.0", - "neo-async": "^2.6.0" - }, - "engines": { - "node": ">= 6.9.0 <7.0.0 || >= 8.9.0" - }, - "peerDependencies": { - "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz?cache=0&sync_timestamp=1593479140504&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthrough2%2Fdownload%2Fthrough2-2.0.5.tgz", - "integrity": "sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/thunky/download/thunky-1.1.0.tgz", - "integrity": "sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30=", - "dev": true - }, - "node_modules/timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.12.tgz?cache=0&sync_timestamp=1603793837115&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftimers-browserify%2Fdownload%2Ftimers-browserify-2.0.12.tgz", - "integrity": "sha1-RKRcEfv0B/NPl7zNFXfGUjYbAO4=", - "dev": true, - "dependencies": { - "setimmediate": "^1.0.4" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/timsort": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/timsort/download/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz", - "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", - "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz", - "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", - "dev": true, - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz", - "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/toposort": { - "version": "1.0.7", - "resolved": "https://registry.npm.taobao.org/toposort/download/toposort-1.0.7.tgz", - "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", - "dev": true - }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz", - "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=", - "dev": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tryer": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/tryer/download/tryer-1.0.1.tgz", - "integrity": "sha1-8shUBoALmw90yfdGW4HqrSQSUvg=", - "dev": true - }, - "node_modules/ts-pnp": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", - "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npm.taobao.org/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1609887446200&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", - "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=", - "dev": true - }, - "node_modules/tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz?cache=0&sync_timestamp=1581364203962&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftweetnacl%2Fdownload%2Ftweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npm.taobao.org/type-fest/download/type-fest-0.11.0.tgz", - "integrity": "sha1-l6vwhyMQ/tiKXEZrJWgVdhReM/E=", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz", - "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=", - "dev": true, - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "node_modules/uglify-js": { - "version": "3.4.10", - "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.4.10.tgz?cache=0&sync_timestamp=1616363013926&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.4.10.tgz", - "integrity": "sha1-mtlWPY6zrN+404WX0q8dgV9qdV8=", - "dev": true, - "dependencies": { - "commander": "~2.19.0", - "source-map": "~0.6.1" - }, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/uglify-js/node_modules/commander": { - "version": "2.19.0", - "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz", - "integrity": "sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So=", - "dev": true - }, - "node_modules/uglify-js/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/unbox-primitive/download/unbox-primitive-1.0.0.tgz", - "integrity": "sha1-7qy8Sv+ijps9NrXq7MxQsyUbHT8=", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.0", - "has-symbols": "^1.0.0", - "which-boxed-primitive": "^1.0.1" - } - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha1-JhmADEyCWADv3YNDr33Zkzy+KBg=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw=", - "dev": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha1-DZH2AO7rMJaqlisdb8iIduZOpTE=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-1.1.0.tgz?cache=0&sync_timestamp=1583946096584&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funicode-property-aliases-ecmascript%2Fdownload%2Funicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha1-3Vepn2IHvt/0Yoq++5TFDblByPQ=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz", - "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=", - "dev": true, - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/union-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/uniq": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "node_modules/uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true - }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz", - "integrity": "sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=", - "dev": true, - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.2.tgz", - "integrity": "sha1-uqvOkQg/xk6UWw861hPiZPfNTmw=", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz?cache=0&sync_timestamp=1603180003399&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-0.1.2.tgz", - "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unquote": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/unquote/download/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", - "dev": true - }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz?cache=0&sync_timestamp=1604768835990&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupath%2Fdownload%2Fupath-1.2.0.tgz", - "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=", - "dev": true, - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz?cache=0&sync_timestamp=1606859853284&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupper-case%2Fdownload%2Fupper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz?cache=0&sync_timestamp=1610237742114&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.1.tgz", - "integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url-loader": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.3.0.tgz", - "integrity": "sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog==", - "dev": true, - "dependencies": { - "loader-utils": "^1.2.3", - "mime": "^2.4.4", - "schema-utils": "^2.5.0" - }, - "engines": { - "node": ">= 8.9.0" - }, - "peerDependencies": { - "file-loader": "*", - "webpack": "^4.0.0" - }, - "peerDependenciesMeta": { - "file-loader": { - "optional": true - } - } - }, - "node_modules/url-parse": { - "version": "1.5.1", - "resolved": "https://registry.npm.taobao.org/url-parse/download/url-parse-1.5.1.tgz", - "integrity": "sha1-1fqYkK+KXh8nSiyYN2UQ9kJfbjs=", - "dev": true, - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz", - "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/util": { - "version": "0.11.1", - "resolved": "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz", - "integrity": "sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE=", - "dev": true, - "dependencies": { - "inherits": "2.0.3" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "node_modules/util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz?cache=0&sync_timestamp=1610159920398&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.0.tgz", - "integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=", - "dev": true, - "dependencies": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "node_modules/utila": { - "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1607460081656&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz", - "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz?cache=0&sync_timestamp=1614993892777&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv8-compile-cache%2Fdownload%2Fv8-compile-cache-2.3.0.tgz", - "integrity": "sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4=", - "dev": true - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vendors": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/vendors/download/vendors-1.0.4.tgz", - "integrity": "sha1-4rgApT56Kbk1BsPPQRANFsTErY4=", - "dev": true - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz", - "integrity": "sha1-eGQcSIuObKkadfUR56OzKobl3aA=", - "dev": true - }, - "node_modules/vue": { - "version": "2.6.12", - "resolved": "https://registry.npm.taobao.org/vue/download/vue-2.6.12.tgz?cache=0&sync_timestamp=1614614622087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue%2Fdownload%2Fvue-2.6.12.tgz", - "integrity": "sha1-9evU+mvShpQD4pqJau1JBEVskSM=" - }, - "node_modules/vue-eslint-parser": { - "version": "7.6.0", - "resolved": "https://registry.npm.taobao.org/vue-eslint-parser/download/vue-eslint-parser-7.6.0.tgz", - "integrity": "sha1-AeoaKTL1gf8kQzZWXXEoAfj3JWE=", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "eslint-scope": "^5.0.0", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.2.1", - "esquery": "^1.4.0", - "lodash": "^4.17.15" - }, - "engines": { - "node": ">=8.10" - }, - "peerDependencies": { - "eslint": ">=5.0.0" - } - }, - "node_modules/vue-eslint-parser/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.1.1.tgz?cache=0&sync_timestamp=1599933670126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.1.tgz", - "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/vue-hot-reload-api": { - "version": "2.3.4", - "resolved": "https://registry.npm.taobao.org/vue-hot-reload-api/download/vue-hot-reload-api-2.3.4.tgz", - "integrity": "sha1-UylVzB6yCKPZkLOp+acFdGV+CPI=", - "dev": true - }, - "node_modules/vue-loader": { - "version": "15.9.6", - "resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-15.9.6.tgz?cache=0&sync_timestamp=1608188078235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-loader%2Fdownload%2Fvue-loader-15.9.6.tgz", - "integrity": "sha1-9Lua4gw6g3CvPs8JuBJtOP/ba4s=", - "dev": true, - "dependencies": { - "@vue/component-compiler-utils": "^3.1.0", - "hash-sum": "^1.0.2", - "loader-utils": "^1.1.0", - "vue-hot-reload-api": "^2.3.0", - "vue-style-loader": "^4.1.0" - }, - "peerDependencies": { - "css-loader": "*", - "webpack": "^3.0.0 || ^4.1.0 || ^5.0.0-0" - } - }, - "node_modules/vue-loader-v16": { - "name": "vue-loader", - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.2.0.tgz", - "integrity": "sha512-TitGhqSQ61RJljMmhIGvfWzJ2zk9m1Qug049Ugml6QP3t0e95o0XJjk29roNEiPKJQBEi8Ord5hFuSuELzSp8Q==", - "dev": true, - "optional": true, - "dependencies": { - "chalk": "^4.1.0", - "hash-sum": "^2.0.0", - "loader-utils": "^2.0.0" - } - }, - "node_modules/vue-loader-v16/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "optional": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/vue-loader-v16/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "optional": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/vue-loader-v16/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "optional": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/vue-loader-v16/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "optional": true - }, - "node_modules/vue-loader-v16/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/vue-loader-v16/node_modules/hash-sum": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", - "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", - "dev": true, - "optional": true - }, - "node_modules/vue-loader-v16/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "optional": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/vue-loader-v16/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "optional": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/vue-router": { - "version": "3.5.1", - "resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.5.1.tgz?cache=0&sync_timestamp=1615477699509&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-3.5.1.tgz", - "integrity": "sha1-7fPPSQeVLR4Fg+B5I3Igxf9utsk=" - }, - "node_modules/vue-style-loader": { - "version": "4.1.3", - "resolved": "https://registry.npm.taobao.org/vue-style-loader/download/vue-style-loader-4.1.3.tgz", - "integrity": "sha1-bVWGOlH6dXqyTonZNxRlByqnvDU=", - "dev": true, - "dependencies": { - "hash-sum": "^1.0.2", - "loader-utils": "^1.0.2" - } - }, - "node_modules/vue-template-compiler": { - "version": "2.6.12", - "resolved": "https://registry.npm.taobao.org/vue-template-compiler/download/vue-template-compiler-2.6.12.tgz?cache=0&sync_timestamp=1597929252539&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-template-compiler%2Fdownload%2Fvue-template-compiler-2.6.12.tgz", - "integrity": "sha1-lH7XGWdEyKUoXr4SM/6WBDf8xX4=", - "dev": true, - "dependencies": { - "de-indent": "^1.0.2", - "he": "^1.1.0" - } - }, - "node_modules/vue-template-es2015-compiler": { - "version": "1.9.1", - "resolved": "https://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.9.1.tgz", - "integrity": "sha1-HuO8mhbsv1EYvjNLsV+cRvgvWCU=", - "dev": true - }, - "node_modules/watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npm.taobao.org/watchpack/download/watchpack-1.7.5.tgz?cache=0&sync_timestamp=1612715916777&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwatchpack%2Fdownload%2Fwatchpack-1.7.5.tgz", - "integrity": "sha1-EmfmxV4Lm1vkTCAjrtVDeiwmxFM=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" - } - }, - "node_modules/watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/watchpack-chokidar2/download/watchpack-chokidar2-2.0.1.tgz?cache=0&sync_timestamp=1604989063099&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwatchpack-chokidar2%2Fdownload%2Fwatchpack-chokidar2-2.0.1.tgz", - "integrity": "sha1-OFAAcu5uzmbzdpk2lQ6hdxvhyVc=", - "dev": true, - "optional": true, - "dependencies": { - "chokidar": "^2.1.8" - } - }, - "node_modules/watchpack-chokidar2/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz", - "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", - "dev": true, - "optional": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "optional": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1610299413755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz", - "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1610721450018&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz", - "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", - "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.", - "dev": true, - "optional": true, - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz?cache=0&sync_timestamp=1612536512306&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-1.2.13.tgz", - "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=", - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", - "dev": true, - "hasInstallScript": true, - "optional": true, - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz", - "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", - "dev": true, - "optional": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz", - "integrity": "sha1-wdjRSTFtPqhShIiVy2oL/oh7h98=", - "dev": true, - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/wcwidth/download/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/webpack": { - "version": "4.46.0", - "resolved": "https://registry.npm.taobao.org/webpack/download/webpack-4.46.0.tgz?cache=0&sync_timestamp=1616424426018&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack%2Fdownload%2Fwebpack-4.46.0.tgz", - "integrity": "sha1-v5tEBOogoHNgXgoBHRiNd8tq1UI=", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/webpack-bundle-analyzer": { - "version": "3.9.0", - "resolved": "https://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-3.9.0.tgz?cache=0&sync_timestamp=1611221513167&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-bundle-analyzer%2Fdownload%2Fwebpack-bundle-analyzer-3.9.0.tgz", - "integrity": "sha1-9vlNsQj7V05BWtMT3kGicH0z7zw=", - "dev": true, - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1", - "bfj": "^6.1.1", - "chalk": "^2.4.1", - "commander": "^2.18.0", - "ejs": "^2.6.1", - "express": "^4.16.3", - "filesize": "^3.6.1", - "gzip-size": "^5.0.0", - "lodash": "^4.17.19", - "mkdirp": "^0.5.1", - "opener": "^1.5.1", - "ws": "^6.0.0" - }, - "bin": { - "webpack-bundle-analyzer": "lib/bin/analyzer.js" - }, - "engines": { - "node": ">= 6.14.4" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", - "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", - "dev": true - }, - "node_modules/webpack-chain": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz", - "integrity": "sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==", - "dev": true, - "dependencies": { - "deepmerge": "^1.5.2", - "javascript-stringify": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-3.7.3.tgz?cache=0&sync_timestamp=1610718943859&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-middleware%2Fdownload%2Fwebpack-dev-middleware-3.7.3.tgz", - "integrity": "sha1-Bjk3KxQyYuK4SrldO5GnWXBhwsU=", - "dev": true, - "dependencies": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-server": { - "version": "3.11.2", - "resolved": "https://registry.npm.taobao.org/webpack-dev-server/download/webpack-dev-server-3.11.2.tgz?cache=0&sync_timestamp=1610549968570&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-server%2Fdownload%2Fwebpack-dev-server-3.11.2.tgz", - "integrity": "sha1-aV687Xakkp8NXef9c/r+GF/jNwg=", - "dev": true, - "dependencies": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 6.11.5" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-server/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz", - "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", - "dev": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/webpack-dev-server/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1610299413755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz", - "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603921779318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz", - "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1610721450018&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz", - "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", - "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.", - "dev": true, - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/webpack-dev-server/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&sync_timestamp=1614682798745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz", - "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", - "dev": true - }, - "node_modules/webpack-dev-server/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1597169750265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz", - "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz?cache=0&sync_timestamp=1612536512306&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-1.2.13.tgz", - "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=", - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", - "dev": true, - "hasInstallScript": true, - "optional": true, - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/webpack-dev-server/node_modules/http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz?cache=0&sync_timestamp=1602445480546&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-proxy-middleware%2Fdownload%2Fhttp-proxy-middleware-0.19.1.tgz", - "integrity": "sha1-GDx9xKoUeRUDBkmMIQza+WCApDo=", - "dev": true, - "dependencies": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/webpack-dev-server/node_modules/is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-3.0.3.tgz?cache=0&sync_timestamp=1569735663940&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-absolute-url%2Fdownload%2Fis-absolute-url-3.0.3.tgz", - "integrity": "sha1-lsaiK2ojkpsR6gr7GDbDatSl1pg=", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/webpack-dev-server/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flocate-path%2Fdownload%2Flocate-path-3.0.0.tgz", - "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz?cache=0&sync_timestamp=1597081369770&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-locate%2Fdownload%2Fp-locate-3.0.0.tgz", - "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack-dev-server/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz", - "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1601922224938&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz", - "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", - "dev": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/webpack-dev-server/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz?cache=0&sync_timestamp=1614522241573&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz", - "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/string-width/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", - "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/string-width/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz", - "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz?cache=0&sync_timestamp=1615762367048&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz", - "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=", - "dev": true, - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/webpack-dev-server/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1615404893185&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz", - "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/webpack-log/download/webpack-log-2.0.0.tgz", - "integrity": "sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8=", - "dev": true, - "dependencies": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/webpack-merge": { - "version": "4.2.2", - "resolved": "https://registry.npm.taobao.org/webpack-merge/download/webpack-merge-4.2.2.tgz", - "integrity": "sha1-onxS6ng9E5iv0gh/VH17nS9DY00=", - "dev": true, - "dependencies": { - "lodash": "^4.17.15" - } - }, - "node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz?cache=0&sync_timestamp=1603965361668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-1.4.3.tgz", - "integrity": "sha1-7t2OwLko+/HL/plOItLYkPMwqTM=", - "dev": true, - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/webpack-sources/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-6.4.2.tgz", - "integrity": "sha1-NYZv1xBSjpLeEM8GAWSY5H454eY=", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1601922224938&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz", - "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", - "dev": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.7.4.tgz", - "integrity": "sha1-ia1Slbv2S0gKvLox5JU6ynBvV2A=", - "dev": true, - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.4.tgz", - "integrity": "sha1-f4RzvIOd/YdgituV1+sHUhFXikI=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz", - "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/which-boxed-primitive/download/which-boxed-primitive-1.0.2.tgz?cache=0&sync_timestamp=1614855292663&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich-boxed-primitive%2Fdownload%2Fwhich-boxed-primitive-1.0.2.tgz", - "integrity": "sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY=", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz", - "integrity": "sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag=", - "dev": true, - "dependencies": { - "errno": "~0.1.7" - } - }, - "node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/ws": { - "version": "6.2.1", - "resolved": "https://registry.npm.taobao.org/ws/download/ws-6.2.1.tgz", - "integrity": "sha1-RC/fCkftZPWbal2P8TD0dI7VJPs=", - "dev": true, - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz", - "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=", - "dev": true, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-4.0.1.tgz?cache=0&sync_timestamp=1609798602895&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-4.0.1.tgz", - "integrity": "sha1-jbK4PDHF11CZu4kLI/MJSJHiR9Q=", - "dev": true - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz", - "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=", - "dev": true - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-16.2.0.tgz?cache=0&sync_timestamp=1615762367048&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-16.2.0.tgz", - "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-20.2.7.tgz?cache=0&sync_timestamp=1615404893185&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.7.tgz", - "integrity": "sha1-Yd+FwRPt+1p6TjbriqYO9CPLyQo=", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611325806500&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-7.0.4.tgz?cache=0&sync_timestamp=1604880226973&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-7.0.4.tgz", - "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/yargs/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/yargs/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "node_modules/yargs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-4.2.2.tgz?cache=0&sync_timestamp=1614522241573&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-4.2.2.tgz", - "integrity": "sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz", - "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-7.0.0.tgz?cache=0&sync_timestamp=1589250991473&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-7.0.0.tgz", - "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs/node_modules/y18n": { - "version": "5.0.5", - "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-5.0.5.tgz?cache=0&sync_timestamp=1609798602895&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-5.0.5.tgz", - "integrity": "sha1-h2nsCNA7HqLfJQCs71YXQ7u5qxg=", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yorkie": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/yorkie/download/yorkie-2.0.0.tgz", - "integrity": "sha1-kkEZEtQ1IU4SxRwq4Qk+VLa7g9k=", - "dev": true, - "dependencies": { - "execa": "^0.8.0", - "is-ci": "^1.0.10", - "normalize-path": "^1.0.0", - "strip-indent": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/yorkie/node_modules/cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "dependencies": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "node_modules/yorkie/node_modules/execa": { - "version": "0.8.0", - "resolved": "https://registry.npm.taobao.org/execa/download/execa-0.8.0.tgz?cache=0&sync_timestamp=1606973416764&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-0.8.0.tgz", - "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", - "dev": true, - "dependencies": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/yorkie/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz?cache=0&sync_timestamp=1597056461891&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/yorkie/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427614275&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", - "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", - "dev": true, - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/yorkie/node_modules/normalize-path": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-1.0.0.tgz", - "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yorkie/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.12.13.tgz", - "integrity": "sha1-3PyCa+72XnXFDiHTg319lXmN1lg=", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/compat-data": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/compat-data/download/@babel/compat-data-7.13.12.tgz?cache=0&sync_timestamp=1616428111061&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcompat-data%2Fdownload%2F%40babel%2Fcompat-data-7.13.12.tgz", - "integrity": "sha1-qKXMrBnCAPndSWJMrG4Z174SNqE=", - "dev": true - }, - "@babel/core": { - "version": "7.13.10", - "resolved": "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.13.10.tgz?cache=0&sync_timestamp=1615243069218&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.13.10.tgz", - "integrity": "sha1-B94FC72Bk/zYo8J5GMCJBhOpRVk=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.9", - "@babel/helper-compilation-targets": "^7.13.10", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helpers": "^7.13.10", - "@babel/parser": "^7.13.10", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "semver": "^6.3.0", - "source-map": "^0.5.0" - } - }, - "@babel/generator": { - "version": "7.13.9", - "resolved": "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.13.9.tgz?cache=0&sync_timestamp=1614635095774&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.13.9.tgz", - "integrity": "sha1-Onqpb577jivkLTjYDizrTGTY3jk=", - "dev": true, - "requires": { - "@babel/types": "^7.13.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.12.13.tgz", - "integrity": "sha1-D1jobfxLs7H819uAZXDhd9Q5tqs=", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", - "integrity": "sha1-a8IDYciLCnTQUTemXKyNPL9vYfw=", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.13.10", - "resolved": "https://registry.npm.taobao.org/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.13.10.tgz?cache=0&sync_timestamp=1615243172515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-compilation-targets%2Fdownload%2F%40babel%2Fhelper-compilation-targets-7.13.10.tgz", - "integrity": "sha1-ExChZ4y4QnwHp1N1DaT4zkQr3Qw=", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.8", - "@babel/helper-validator-option": "^7.12.17", - "browserslist": "^4.14.5", - "semver": "^6.3.0" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.13.11", - "resolved": "https://registry.npm.taobao.org/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.13.11.tgz", - "integrity": "sha1-MNMKAFvKLJU/VlP8JQkaSSF39PY=", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-member-expression-to-functions": "^7.13.0", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.12.17", - "resolved": "https://registry.npm.taobao.org/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.12.17.tgz", - "integrity": "sha1-oqyH6eMZJprGVbjUQV6U041mPLc=", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "regexpu-core": "^4.7.1" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.1.5", - "resolved": "https://registry.npm.taobao.org/@babel/helper-define-polyfill-provider/download/@babel/helper-define-polyfill-provider-0.1.5.tgz?cache=0&sync_timestamp=1614675032908&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-define-polyfill-provider%2Fdownload%2F%40babel%2Fhelper-define-polyfill-provider-0.1.5.tgz", - "integrity": "sha1-PC+Rt5cbn8Ef53nJRcAUBl3qNA4=", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.13.0.tgz?cache=0&sync_timestamp=1614034288985&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-explode-assignable-expression%2Fdownload%2F%40babel%2Fhelper-explode-assignable-expression-7.13.0.tgz", - "integrity": "sha1-F7XFn/Rz2flW9A71cM86dsoSZX8=", - "dev": true, - "requires": { - "@babel/types": "^7.13.0" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.12.13.tgz?cache=0&sync_timestamp=1612314730700&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-function-name%2Fdownload%2F%40babel%2Fhelper-function-name-7.12.13.tgz", - "integrity": "sha1-k61lbbPDwiMlWf17LD29y+DrN3o=", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha1-vGNFHUA6OzCCuX4diz/lvUCR5YM=", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.13.0.tgz?cache=0&sync_timestamp=1614034242956&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-hoist-variables%2Fdownload%2F%40babel%2Fhelper-hoist-variables-7.13.0.tgz", - "integrity": "sha1-XViC6FW1xe2pHgytwmxueiyFk9g=", - "dev": true, - "requires": { - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.13.12.tgz?cache=0&sync_timestamp=1616428120148&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-member-expression-to-functions%2Fdownload%2F%40babel%2Fhelper-member-expression-to-functions-7.13.12.tgz", - "integrity": "sha1-3+No8m1CagcpnY1lE4IXaCFubXI=", - "dev": true, - "requires": { - "@babel/types": "^7.13.12" - } - }, - "@babel/helper-module-imports": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.13.12.tgz", - "integrity": "sha1-xqNppvNiHLJdoBQHhoTakZa2GXc=", - "dev": true, - "requires": { - "@babel/types": "^7.13.12" - } - }, - "@babel/helper-module-transforms": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.13.12.tgz?cache=0&sync_timestamp=1616428208375&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.13.12.tgz", - "integrity": "sha1-YA5YNQSQgo2CKCYxoUIiaOmCupY=", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-replace-supers": "^7.13.12", - "@babel/helper-simple-access": "^7.13.12", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/helper-validator-identifier": "^7.12.11", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.12" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.12.13.tgz", - "integrity": "sha1-XALRcbTIYVsecWP4iMHIHDCiquo=", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.13.0.tgz?cache=0&sync_timestamp=1614034264835&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-plugin-utils%2Fdownload%2F%40babel%2Fhelper-plugin-utils-7.13.0.tgz", - "integrity": "sha1-gGUmzhJa7QM3O8QWqCgyHjpqM68=", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.13.0.tgz", - "integrity": "sha1-N2p2DZ97SyB3qd0Fqpw5J8rbIgk=", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-wrap-function": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "@babel/helper-replace-supers": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.13.12.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-replace-supers%2Fdownload%2F%40babel%2Fhelper-replace-supers-7.13.12.tgz", - "integrity": "sha1-ZEL0wa2RJQJIGlZKc4beDHf/OAQ=", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.13.12", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.12" - } - }, - "@babel/helper-simple-access": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.13.12.tgz?cache=0&sync_timestamp=1616428111369&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-simple-access%2Fdownload%2F%40babel%2Fhelper-simple-access-7.13.12.tgz", - "integrity": "sha1-3WxTivthgZ0gWgEsMXkqOcel6vY=", - "dev": true, - "requires": { - "@babel/types": "^7.13.12" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npm.taobao.org/@babel/helper-skip-transparent-expression-wrappers/download/@babel/helper-skip-transparent-expression-wrappers-7.12.1.tgz?cache=0&sync_timestamp=1602800051450&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-skip-transparent-expression-wrappers%2Fdownload%2F%40babel%2Fhelper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha1-Ri3GOn5DWt6EaDhcY9K4TM5LPL8=", - "dev": true, - "requires": { - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha1-6UML4AuvPoiw4T5vnU6vITY3KwU=", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.12.11.tgz?cache=0&sync_timestamp=1608076851017&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.12.11.tgz", - "integrity": "sha1-yaHwIZF9y1zPDU5FPjmQIpgfye0=", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.12.17", - "resolved": "https://registry.npm.taobao.org/@babel/helper-validator-option/download/@babel/helper-validator-option-7.12.17.tgz", - "integrity": "sha1-0fvwEuGnm37rv9xtJwuq+NnrmDE=", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.13.0.tgz?cache=0&sync_timestamp=1614034295470&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-wrap-function%2Fdownload%2F%40babel%2Fhelper-wrap-function-7.13.0.tgz", - "integrity": "sha1-vbXGb9qFJuwjWriUrVOhI1x5/MQ=", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "@babel/helpers": { - "version": "7.13.10", - "resolved": "https://registry.npm.taobao.org/@babel/helpers/download/@babel/helpers-7.13.10.tgz?cache=0&sync_timestamp=1615243064836&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelpers%2Fdownload%2F%40babel%2Fhelpers-7.13.10.tgz", - "integrity": "sha1-/Y4rp0iFM83qxFzBWOnryl48ffg=", - "dev": true, - "requires": { - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.13.10.tgz?cache=0&sync_timestamp=1615243065645&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.13.10.tgz", - "integrity": "sha1-qLKmYUj1sn1maxXYF3Q0enMdUtE=", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.13.12.tgz", - "integrity": "sha1-ujIAWUIHdDlNOwwCM7pA5CULgdE=", - "dev": true - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/download/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz?cache=0&sync_timestamp=1616428234838&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-bugfix-v8-spread-parameters-in-optional-chaining%2Fdownload%2F%40babel%2Fplugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz", - "integrity": "sha1-o0hNhNC1SfP8kWuZ7keD8m+rrSo=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.13.12" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.13.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.13.8.tgz?cache=0&sync_timestamp=1614383147950&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-async-generator-functions%2Fdownload%2F%40babel%2Fplugin-proposal-async-generator-functions-7.13.8.tgz", - "integrity": "sha1-h6rLV0s7xLVgP2/kFFjXKlouxLE=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.13.0.tgz?cache=0&sync_timestamp=1614034278413&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-class-properties%2Fdownload%2F%40babel%2Fplugin-proposal-class-properties-7.13.0.tgz", - "integrity": "sha1-FGN2AAuU79AB5XpAqIpSWvqrnzc=", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-proposal-decorators": { - "version": "7.13.5", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.13.5.tgz", - "integrity": "sha1-0oBxRXpbqO4TlLI+ONXc8y6iDvc=", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-decorators": "^7.12.13" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.13.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.13.8.tgz?cache=0&sync_timestamp=1614383147594&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-dynamic-import%2Fdownload%2F%40babel%2Fplugin-proposal-dynamic-import-7.13.8.tgz", - "integrity": "sha1-h2ofaWbh3sMy6MlFGv2jvrzfLh0=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.12.13.tgz?cache=0&sync_timestamp=1612314818045&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-export-namespace-from%2Fdownload%2F%40babel%2Fplugin-proposal-export-namespace-from-7.12.13.tgz", - "integrity": "sha1-OTvkekrNA/oq9uPN6bBuM94bRG0=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.13.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.13.8.tgz?cache=0&sync_timestamp=1614383148225&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-json-strings%2Fdownload%2F%40babel%2Fplugin-proposal-json-strings-7.13.8.tgz", - "integrity": "sha1-vx+zYlRwda/aNjTtMVccWQGv73s=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.13.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.13.8.tgz?cache=0&sync_timestamp=1614383123641&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-logical-assignment-operators%2Fdownload%2F%40babel%2Fplugin-proposal-logical-assignment-operators-7.13.8.tgz", - "integrity": "sha1-k/p41jhXxAzjyMMxUiD9AL+7Tho=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.13.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz?cache=0&sync_timestamp=1614383148702&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator%2Fdownload%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator-7.13.8.tgz", - "integrity": "sha1-NzCjHa/TwQ2MzRBkjtgKKsVHLvM=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.12.13.tgz?cache=0&sync_timestamp=1612314818336&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-numeric-separator%2Fdownload%2F%40babel%2Fplugin-proposal-numeric-separator-7.12.13.tgz", - "integrity": "sha1-vZ2jGI54e1EgtPnUZagmHOZ+0ds=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.13.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.13.8.tgz?cache=0&sync_timestamp=1614383131892&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-object-rest-spread%2Fdownload%2F%40babel%2Fplugin-proposal-object-rest-spread-7.13.8.tgz", - "integrity": "sha1-XSEKTXJ9bOOxj53oLMmaOWTu1go=", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.8", - "@babel/helper-compilation-targets": "^7.13.8", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.13.0" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.13.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.13.8.tgz?cache=0&sync_timestamp=1614383148865&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-optional-catch-binding%2Fdownload%2F%40babel%2Fplugin-proposal-optional-catch-binding-7.13.8.tgz", - "integrity": "sha1-Ota9WQFQbqmW/DG9zzzPor7XEQc=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.13.12.tgz?cache=0&sync_timestamp=1616428110827&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-optional-chaining%2Fdownload%2F%40babel%2Fplugin-proposal-optional-chaining-7.13.12.tgz", - "integrity": "sha1-up/rYB1CLgrepnYMK9a7t7/sSGY=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.13.0.tgz", - "integrity": "sha1-BL1MbUD25rv6L1fi2AlLrZAO94c=", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.12.13.tgz", - "integrity": "sha1-vr3lEzm+gpwXqqrO0YZB3rYrObo=", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha1-qYP7Gusuw/btBCohD2QOkOeG/g0=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.12.13.tgz?cache=0&sync_timestamp=1612314818069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-class-properties%2Fdownload%2F%40babel%2Fplugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha1-tcmHJ0xKOoK4lxR5aTGmtTVErhA=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-decorators": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-decorators/download/@babel/plugin-syntax-decorators-7.12.13.tgz", - "integrity": "sha1-+sgpvzx+9KG8kWJXtAPljGva9kg=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-export-namespace-from/download/@babel/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha1-AolkqbqA28CUyRXEh618TnpmRlo=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.12.13.tgz?cache=0&sync_timestamp=1612314725554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-jsx%2Fdownload%2F%40babel%2Fplugin-syntax-jsx-7.12.13.tgz", - "integrity": "sha1-BE+4HrrWaY/mLEeIdVdby7m3DxU=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-logical-assignment-operators/download/@babel/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha1-ypHvRjA1MESLkGZSusLp/plB9pk=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz?cache=0&sync_timestamp=1593521722382&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-numeric-separator%2Fdownload%2F%40babel%2Fplugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha1-YRGiZbz7Ag6579D9/X0mQCue1sE=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.12.13.tgz?cache=0&sync_timestamp=1612314725861&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-top-level-await%2Fdownload%2F%40babel%2Fplugin-syntax-top-level-await-7.12.13.tgz", - "integrity": "sha1-xfD6biSfW3OXJ/kjVAz3qAYTAXg=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.13.0.tgz", - "integrity": "sha1-EKWb661S1jegJ6+mkujVzv9ePa4=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.13.0.tgz", - "integrity": "sha1-jhEr9ncbgr8el05eJoBsXJmqUW8=", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.12.13.tgz?cache=0&sync_timestamp=1612314725922&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoped-functions%2Fdownload%2F%40babel%2Fplugin-transform-block-scoped-functions-7.12.13.tgz", - "integrity": "sha1-qb8YNvKjm062zwmWdzneKepL9MQ=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.12.13.tgz?cache=0&sync_timestamp=1612314728153&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoping%2Fdownload%2F%40babel%2Fplugin-transform-block-scoping-7.12.13.tgz", - "integrity": "sha1-825VB20G9B39eFV+oDnBtYFkLmE=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.13.0.tgz", - "integrity": "sha1-AmUVUHXEKRi/TTpAUxNBdq2bUzs=", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.13.0.tgz", - "integrity": "sha1-hFxui5u1U3ax+guS7wvcjqBmRO0=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.13.0.tgz", - "integrity": "sha1-xdzicAFNTh67HYBhFmlMErcCiWM=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.12.13.tgz?cache=0&sync_timestamp=1612314730663&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-dotall-regex%2Fdownload%2F%40babel%2Fplugin-transform-dotall-regex-7.12.13.tgz", - "integrity": "sha1-PxYBzCmQW/y2f1ORDxl66v67Ja0=", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.12.13.tgz?cache=0&sync_timestamp=1612314726608&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-duplicate-keys%2Fdownload%2F%40babel%2Fplugin-transform-duplicate-keys-7.12.13.tgz", - "integrity": "sha1-bwa4eouAP9ko5UuBwljwoAM5BN4=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.12.13.tgz?cache=0&sync_timestamp=1612314730682&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-exponentiation-operator%2Fdownload%2F%40babel%2Fplugin-transform-exponentiation-operator-7.12.13.tgz", - "integrity": "sha1-TVI5C5onPmUeSrpq7knvQOgM0KE=", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.13.0.tgz?cache=0&sync_timestamp=1614034276697&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-for-of%2Fdownload%2F%40babel%2Fplugin-transform-for-of-7.13.0.tgz", - "integrity": "sha1-x5n4gagJGsJrVIZ6hFw+l9JpYGI=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.12.13.tgz?cache=0&sync_timestamp=1612314730751&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-function-name%2Fdownload%2F%40babel%2Fplugin-transform-function-name-7.12.13.tgz", - "integrity": "sha1-uwJEUvmq7YYdN0yOeiQlLOOlAFE=", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.12.13.tgz?cache=0&sync_timestamp=1612314725912&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-literals%2Fdownload%2F%40babel%2Fplugin-transform-literals-7.12.13.tgz", - "integrity": "sha1-LKRbr+SoIBl88xV5Sk0mVg/kvbk=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.12.13.tgz?cache=0&sync_timestamp=1612314726040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-member-expression-literals%2Fdownload%2F%40babel%2Fplugin-transform-member-expression-literals-7.12.13.tgz", - "integrity": "sha1-X/pmzVm54ZExTJ8fgDuTjowIHkA=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.13.0.tgz", - "integrity": "sha1-GfUR1g49h1PMWm1Od106UYSGbMM=", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.13.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.13.8.tgz?cache=0&sync_timestamp=1614383149905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-commonjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-commonjs-7.13.8.tgz", - "integrity": "sha1-ewGtfC3PInWwb6F4HgDRPUILPhs=", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-simple-access": "^7.12.13", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.13.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.13.8.tgz?cache=0&sync_timestamp=1614383149112&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-systemjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-systemjs-7.13.8.tgz", - "integrity": "sha1-bQZu4r/zx7PWC/KN7Baa2ZODGuM=", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.13.0", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-identifier": "^7.12.11", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.13.0.tgz", - "integrity": "sha1-ij2WqX0ZlwW5/QIVgAgq+BwG5ws=", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.12.13.tgz?cache=0&sync_timestamp=1612314730683&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-named-capturing-groups-regex%2Fdownload%2F%40babel%2Fplugin-transform-named-capturing-groups-regex-7.12.13.tgz", - "integrity": "sha1-IhNyWl9bu+NktQw7pZmMlZnFydk=", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.12.13.tgz?cache=0&sync_timestamp=1612314725988&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-new-target%2Fdownload%2F%40babel%2Fplugin-transform-new-target-7.12.13.tgz", - "integrity": "sha1-4i2MOvJLFQ3VKMvW5oXnmb8cNRw=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.12.13.tgz?cache=0&sync_timestamp=1612314740228&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-object-super%2Fdownload%2F%40babel%2Fplugin-transform-object-super-7.12.13.tgz", - "integrity": "sha1-tEFqLWO4974xTz00m9VanBtRcfc=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-replace-supers": "^7.12.13" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.13.0.tgz", - "integrity": "sha1-j6dgPjCX+cC3yhpIIbwvtS6eUAc=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.12.13.tgz?cache=0&sync_timestamp=1612314726170&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-property-literals%2Fdownload%2F%40babel%2Fplugin-transform-property-literals-7.12.13.tgz", - "integrity": "sha1-TmqeN4ZNjxs7wOLc57+IV9uLGoE=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.12.13.tgz", - "integrity": "sha1-tii8ychSYKwa6wW0W94lIQGUovU=", - "dev": true, - "requires": { - "regenerator-transform": "^0.14.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.12.13.tgz?cache=0&sync_timestamp=1612314730815&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-reserved-words%2Fdownload%2F%40babel%2Fplugin-transform-reserved-words-7.12.13.tgz", - "integrity": "sha1-fZmI1PBuD+aX6h2YAxiKoYtHJpU=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.13.10", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.13.10.tgz?cache=0&sync_timestamp=1615243067476&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-runtime%2Fdownload%2F%40babel%2Fplugin-transform-runtime-7.13.10.tgz", - "integrity": "sha1-oeQNIuK/VwxZHJx+WrQta/HkGeE=", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "babel-plugin-polyfill-corejs2": "^0.1.4", - "babel-plugin-polyfill-corejs3": "^0.1.3", - "babel-plugin-polyfill-regenerator": "^0.1.2", - "semver": "^6.3.0" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.12.13.tgz?cache=0&sync_timestamp=1612314730318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-shorthand-properties%2Fdownload%2F%40babel%2Fplugin-transform-shorthand-properties-7.12.13.tgz", - "integrity": "sha1-23VXMrcMU51QTGOQ2c6Q/mSv960=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.13.0.tgz", - "integrity": "sha1-hIh3EOJzwYFaznrkWfb0Kl0x1f0=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.12.13.tgz?cache=0&sync_timestamp=1612314730317&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-sticky-regex%2Fdownload%2F%40babel%2Fplugin-transform-sticky-regex-7.12.13.tgz", - "integrity": "sha1-dg/9k2+s5z+GCuZG+4bugvPQbR8=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.13.0.tgz", - "integrity": "sha1-o2BJEnl3rZRDje50Q1mNHO/fQJ0=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.12.13.tgz?cache=0&sync_timestamp=1612314730347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-typeof-symbol%2Fdownload%2F%40babel%2Fplugin-transform-typeof-symbol-7.12.13.tgz", - "integrity": "sha1-eF3Weh8upXnZwr5yLejITLhfWn8=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.12.13.tgz?cache=0&sync_timestamp=1612314730331&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-unicode-escapes%2Fdownload%2F%40babel%2Fplugin-transform-unicode-escapes-7.12.13.tgz", - "integrity": "sha1-hAztO4FtO1En3R0S3O3F3q0aXnQ=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.12.13.tgz?cache=0&sync_timestamp=1612314730902&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-unicode-regex%2Fdownload%2F%40babel%2Fplugin-transform-unicode-regex-7.12.13.tgz", - "integrity": "sha1-tSUhaFgE4VWxIC6D/BiNNLtw9aw=", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/preset-env": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.13.12.tgz?cache=0&sync_timestamp=1616428208971&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fpreset-env%2Fdownload%2F%40babel%2Fpreset-env-7.13.12.tgz", - "integrity": "sha1-bf9HBHgpBYKsKC+3d4Dq3zJIAjc=", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.12", - "@babel/helper-compilation-targets": "^7.13.10", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-option": "^7.12.17", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-async-generator-functions": "^7.13.8", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-dynamic-import": "^7.13.8", - "@babel/plugin-proposal-export-namespace-from": "^7.12.13", - "@babel/plugin-proposal-json-strings": "^7.13.8", - "@babel/plugin-proposal-logical-assignment-operators": "^7.13.8", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-numeric-separator": "^7.12.13", - "@babel/plugin-proposal-object-rest-spread": "^7.13.8", - "@babel/plugin-proposal-optional-catch-binding": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-private-methods": "^7.13.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.12.13", - "@babel/plugin-transform-arrow-functions": "^7.13.0", - "@babel/plugin-transform-async-to-generator": "^7.13.0", - "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.12.13", - "@babel/plugin-transform-classes": "^7.13.0", - "@babel/plugin-transform-computed-properties": "^7.13.0", - "@babel/plugin-transform-destructuring": "^7.13.0", - "@babel/plugin-transform-dotall-regex": "^7.12.13", - "@babel/plugin-transform-duplicate-keys": "^7.12.13", - "@babel/plugin-transform-exponentiation-operator": "^7.12.13", - "@babel/plugin-transform-for-of": "^7.13.0", - "@babel/plugin-transform-function-name": "^7.12.13", - "@babel/plugin-transform-literals": "^7.12.13", - "@babel/plugin-transform-member-expression-literals": "^7.12.13", - "@babel/plugin-transform-modules-amd": "^7.13.0", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/plugin-transform-modules-systemjs": "^7.13.8", - "@babel/plugin-transform-modules-umd": "^7.13.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", - "@babel/plugin-transform-new-target": "^7.12.13", - "@babel/plugin-transform-object-super": "^7.12.13", - "@babel/plugin-transform-parameters": "^7.13.0", - "@babel/plugin-transform-property-literals": "^7.12.13", - "@babel/plugin-transform-regenerator": "^7.12.13", - "@babel/plugin-transform-reserved-words": "^7.12.13", - "@babel/plugin-transform-shorthand-properties": "^7.12.13", - "@babel/plugin-transform-spread": "^7.13.0", - "@babel/plugin-transform-sticky-regex": "^7.12.13", - "@babel/plugin-transform-template-literals": "^7.13.0", - "@babel/plugin-transform-typeof-symbol": "^7.12.13", - "@babel/plugin-transform-unicode-escapes": "^7.12.13", - "@babel/plugin-transform-unicode-regex": "^7.12.13", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.13.12", - "babel-plugin-polyfill-corejs2": "^0.1.4", - "babel-plugin-polyfill-corejs3": "^0.1.3", - "babel-plugin-polyfill-regenerator": "^0.1.2", - "core-js-compat": "^3.9.0", - "semver": "^6.3.0" - } - }, - "@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/@babel/preset-modules/download/@babel/preset-modules-0.1.4.tgz", - "integrity": "sha1-Ni8raMZihClw/bXiVP/I/BwuQV4=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/runtime": { - "version": "7.13.10", - "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.13.10.tgz?cache=0&sync_timestamp=1615243066705&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.13.10.tgz", - "integrity": "sha1-R9QqV7YJX0Ro2kQDiP262L6/DX0=", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.12.13.tgz?cache=0&sync_timestamp=1612314730561&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.12.13.tgz", - "integrity": "sha1-UwJlvooliduzdSOETFvLVZR/syc=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/traverse": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.13.0.tgz?cache=0&sync_timestamp=1614034259562&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.13.0.tgz", - "integrity": "sha1-bZV1JHX4bufe0GU23jCaZfyJZsw=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.0", - "@babel/types": "^7.13.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.13.12.tgz", - "integrity": "sha1-7b+ZII70iFKs3/HIpoGh5K3lgM0=", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "@eslint/eslintrc": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", - "integrity": "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - } - }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - } - } - }, - "@hapi/address": { - "version": "2.1.4", - "resolved": "https://registry.npm.taobao.org/@hapi/address/download/@hapi/address-2.1.4.tgz?cache=0&sync_timestamp=1603524710662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Faddress%2Fdownload%2F%40hapi%2Faddress-2.1.4.tgz", - "integrity": "sha1-XWftQ/P9QaadS5/3tW58DR0KgeU=", - "dev": true - }, - "@hapi/bourne": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/@hapi/bourne/download/@hapi/bourne-1.3.2.tgz", - "integrity": "sha1-CnCVreoGckPOMoPhtWuKj0U7JCo=", - "dev": true - }, - "@hapi/hoek": { - "version": "8.5.1", - "resolved": "https://registry.npm.taobao.org/@hapi/hoek/download/@hapi/hoek-8.5.1.tgz?cache=0&sync_timestamp=1609087042424&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Fhoek%2Fdownload%2F%40hapi%2Fhoek-8.5.1.tgz", - "integrity": "sha1-/elgZMpEbeyMVajC8TCVewcMbgY=", - "dev": true - }, - "@hapi/joi": { - "version": "15.1.1", - "resolved": "https://registry.npm.taobao.org/@hapi/joi/download/@hapi/joi-15.1.1.tgz", - "integrity": "sha1-xnW4pxKW8Cgz+NbSQ7NMV7jOGdc=", - "dev": true, - "requires": { - "@hapi/address": "2.x.x", - "@hapi/bourne": "1.x.x", - "@hapi/hoek": "8.x.x", - "@hapi/topo": "3.x.x" - } - }, - "@hapi/topo": { - "version": "3.1.6", - "resolved": "https://registry.npm.taobao.org/@hapi/topo/download/@hapi/topo-3.1.6.tgz", - "integrity": "sha1-aNk1+j6uf91asNf5U/MgXYsr/Ck=", - "dev": true, - "requires": { - "@hapi/hoek": "^8.3.0" - } - }, - "@intervolga/optimize-cssnano-plugin": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/@intervolga/optimize-cssnano-plugin/download/@intervolga/optimize-cssnano-plugin-1.0.6.tgz", - "integrity": "sha1-vnx4RhKLiPapsdEmGgrQbrXA/fg=", - "dev": true, - "requires": { - "cssnano": "^4.0.0", - "cssnano-preset-default": "^4.0.0", - "postcss": "^7.0.0" - } - }, - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz", - "integrity": "sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4=", - "dev": true, - "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" - } - }, - "@msgpack/msgpack": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-2.6.0.tgz", - "integrity": "sha512-CbKEhARMPl/CYNhIs4p0NgoNWspUQP45QxZoJ433ydSd2HTfzQ4WQyEpViJkEHKkRcPbV72FlFf3gtD9frzKTg==" - }, - "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz", - "integrity": "sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=", - "dev": true - }, - "@soda/friendly-errors-webpack-plugin": { - "version": "1.8.0", - "resolved": "https://registry.npm.taobao.org/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.8.0.tgz?cache=0&sync_timestamp=1607927632152&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40soda%2Ffriendly-errors-webpack-plugin%2Fdownload%2F%40soda%2Ffriendly-errors-webpack-plugin-1.8.0.tgz", - "integrity": "sha1-hHUdgqkwGdXJLAzw5FrFkIfNIkA=", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "error-stack-parser": "^2.0.2", - "string-width": "^2.0.0", - "strip-ansi": "^5" - } - }, - "@soda/get-current-script": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@soda/get-current-script/-/get-current-script-1.0.2.tgz", - "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", - "dev": true - }, - "@types/anymatch": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", - "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", - "dev": true - }, - "@types/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==", - "dev": true, - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.34", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz", - "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/connect-history-api-fallback": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.4.tgz", - "integrity": "sha512-Kf8v0wljR5GSCOCF/VQWdV3ZhKOVA73drXtY3geMTQgHy9dgqQ0dLrf31M0hcuWkhFzK5sP0kkS3mJzcKVtZbw==", - "dev": true, - "requires": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "@types/express": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz", - "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==", - "dev": true, - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.19.tgz", - "integrity": "sha512-DJOSHzX7pCiSElWaGR8kCprwibCB/3yW6vcT8VG3P0SJjnv19gnWG/AZMfM60Xj/YJIp/YCaDHyvzsFVeniARA==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.3.tgz?cache=0&sync_timestamp=1613378758886&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fglob%2Fdownload%2F%40types%2Fglob-7.1.3.tgz", - "integrity": "sha1-5rqA82t9qtLGhazZJmOC5omFwYM=", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/http-proxy": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.5.tgz", - "integrity": "sha512-GNkDE7bTv6Sf8JbV2GksknKOsk7OznNYHSdrtvPJXO0qJ9odZig6IZKUi5RFGi6d1bf6dgIAe4uXi3DBc7069Q==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.7.tgz", - "integrity": "sha1-mKmTUWyFnrDVxMjwmDF6nqaNua0=", - "dev": true - }, - "@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", - "dev": true - }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz", - "integrity": "sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0=", - "dev": true - }, - "@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", - "dev": true - }, - "@types/node": { - "version": "14.14.35", - "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-14.14.35.tgz?cache=0&sync_timestamp=1615834803874&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.14.35.tgz", - "integrity": "sha1-QslTpOKxirkx9yR35wEhcvT/oxM=", - "dev": true - }, - "@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npm.taobao.org/@types/normalize-package-data/download/@types/normalize-package-data-2.4.0.tgz", - "integrity": "sha1-5IbQ2XOW15vu3QpuM/RTT/a0lz4=", - "dev": true - }, - "@types/q": { - "version": "1.5.4", - "resolved": "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.4.tgz", - "integrity": "sha1-FZJUFOCtLNdlv+9YhC9+JqesyyQ=", - "dev": true - }, - "@types/qs": { - "version": "6.9.6", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.6.tgz", - "integrity": "sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA==", - "dev": true - }, - "@types/range-parser": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", - "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==", - "dev": true - }, - "@types/serve-static": { - "version": "1.13.9", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz", - "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==", - "dev": true, - "requires": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true - }, - "@types/tapable": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.7.tgz", - "integrity": "sha512-0VBprVqfgFD7Ehb2vd8Lh9TG3jP98gvr8rgehQqzztZNI7o8zS8Ad4jyZneKELphpuE212D8J70LnSNQSyO6bQ==", - "dev": true - }, - "@types/uglify-js": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.0.tgz", - "integrity": "sha512-EGkrJD5Uy+Pg0NUR8uA4bJ5WMfljyad0G+784vLCNUkD+QwOJXUbBYExXfVGf7YtyzdQp3L/XMYcliB987kL5Q==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@types/webpack": { - "version": "4.41.27", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.27.tgz", - "integrity": "sha512-wK/oi5gcHi72VMTbOaQ70VcDxSQ1uX8S2tukBK9ARuGXrYM/+u4ou73roc7trXDNmCxCoerE8zruQqX/wuHszA==", - "dev": true, - "requires": { - "@types/anymatch": "*", - "@types/node": "*", - "@types/tapable": "^1", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@types/webpack-dev-server": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/@types/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz", - "integrity": "sha512-p9B/QClflreKDeamKhBwuo5zqtI++wwb9QNG/CdIZUFtHvtaq0dWVgbtV7iMl4Sr4vWzEFj0rn16pgUFANjLPA==", - "dev": true, - "requires": { - "@types/connect-history-api-fallback": "*", - "@types/express": "*", - "@types/serve-static": "*", - "@types/webpack": "^4", - "http-proxy-middleware": "^1.0.0" - } - }, - "@types/webpack-sources": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz", - "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } - }, - "@vue/babel-helper-vue-jsx-merge-props": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.2.1.tgz?cache=0&sync_timestamp=1602851197289&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-helper-vue-jsx-merge-props%2Fdownload%2F%40vue%2Fbabel-helper-vue-jsx-merge-props-1.2.1.tgz", - "integrity": "sha1-MWJKelBfsU2h1YAjclpMXycOaoE=", - "dev": true - }, - "@vue/babel-helper-vue-transform-on": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/@vue/babel-helper-vue-transform-on/download/@vue/babel-helper-vue-transform-on-1.0.2.tgz?cache=0&sync_timestamp=1610812350571&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-helper-vue-transform-on%2Fdownload%2F%40vue%2Fbabel-helper-vue-transform-on-1.0.2.tgz", - "integrity": "sha1-m5xpHNBvyFUiGiR1w8yDHXdLx9w=", - "dev": true - }, - "@vue/babel-plugin-jsx": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/@vue/babel-plugin-jsx/download/@vue/babel-plugin-jsx-1.0.3.tgz?cache=0&sync_timestamp=1612619912063&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-plugin-jsx%2Fdownload%2F%40vue%2Fbabel-plugin-jsx-1.0.3.tgz", - "integrity": "sha1-rV7obryfxAkArdmRRTTiI8cZ6s4=", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.0.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.0.0", - "@babel/types": "^7.0.0", - "@vue/babel-helper-vue-transform-on": "^1.0.2", - "camelcase": "^6.0.0", - "html-tags": "^3.1.0", - "svg-tags": "^1.0.0" - } - }, - "@vue/babel-plugin-transform-vue-jsx": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/@vue/babel-plugin-transform-vue-jsx/download/@vue/babel-plugin-transform-vue-jsx-1.2.1.tgz?cache=0&sync_timestamp=1602851197462&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-plugin-transform-vue-jsx%2Fdownload%2F%40vue%2Fbabel-plugin-transform-vue-jsx-1.2.1.tgz", - "integrity": "sha1-ZGBGxlLC8CQnJ/NFGdkXsGQEHtc=", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", - "html-tags": "^2.0.0", - "lodash.kebabcase": "^4.1.1", - "svg-tags": "^1.0.0" - }, - "dependencies": { - "html-tags": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-2.0.0.tgz", - "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", - "dev": true - } - } - }, - "@vue/babel-preset-app": { - "version": "4.5.12", - "resolved": "https://registry.npm.taobao.org/@vue/babel-preset-app/download/@vue/babel-preset-app-4.5.12.tgz", - "integrity": "sha1-w6I88z9uXqMFNvE8D5sfx+AoscE=", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.9.6", - "@babel/helper-module-imports": "^7.8.3", - "@babel/plugin-proposal-class-properties": "^7.8.3", - "@babel/plugin-proposal-decorators": "^7.8.3", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-jsx": "^7.8.3", - "@babel/plugin-transform-runtime": "^7.11.0", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.0", - "@vue/babel-plugin-jsx": "^1.0.3", - "@vue/babel-preset-jsx": "^1.2.4", - "babel-plugin-dynamic-import-node": "^2.3.3", - "core-js-compat": "^3.6.5", - "semver": "^6.1.0" - } - }, - "@vue/babel-preset-jsx": { - "version": "1.2.4", - "resolved": "https://registry.npm.taobao.org/@vue/babel-preset-jsx/download/@vue/babel-preset-jsx-1.2.4.tgz?cache=0&sync_timestamp=1603806784269&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-preset-jsx%2Fdownload%2F%40vue%2Fbabel-preset-jsx-1.2.4.tgz", - "integrity": "sha1-kv6nnbbxOwHoDToAmeKSS9y+Toc=", - "dev": true, - "requires": { - "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", - "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", - "@vue/babel-sugar-composition-api-inject-h": "^1.2.1", - "@vue/babel-sugar-composition-api-render-instance": "^1.2.4", - "@vue/babel-sugar-functional-vue": "^1.2.2", - "@vue/babel-sugar-inject-h": "^1.2.2", - "@vue/babel-sugar-v-model": "^1.2.3", - "@vue/babel-sugar-v-on": "^1.2.3" - } - }, - "@vue/babel-sugar-composition-api-inject-h": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-composition-api-inject-h/download/@vue/babel-sugar-composition-api-inject-h-1.2.1.tgz?cache=0&sync_timestamp=1602851197056&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-composition-api-inject-h%2Fdownload%2F%40vue%2Fbabel-sugar-composition-api-inject-h-1.2.1.tgz", - "integrity": "sha1-BdbgxDJxDjdYKyvppgSbaJtvA+s=", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@vue/babel-sugar-composition-api-render-instance": { - "version": "1.2.4", - "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-composition-api-render-instance/download/@vue/babel-sugar-composition-api-render-instance-1.2.4.tgz?cache=0&sync_timestamp=1603806797927&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-composition-api-render-instance%2Fdownload%2F%40vue%2Fbabel-sugar-composition-api-render-instance-1.2.4.tgz", - "integrity": "sha1-5MvGmXw0T6wnF4WteikyXFHWjRk=", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@vue/babel-sugar-functional-vue": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-functional-vue/download/@vue/babel-sugar-functional-vue-1.2.2.tgz?cache=0&sync_timestamp=1602929497838&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-functional-vue%2Fdownload%2F%40vue%2Fbabel-sugar-functional-vue-1.2.2.tgz", - "integrity": "sha1-JnqayNeHyW7b8Dzj85LEnam9Jlg=", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@vue/babel-sugar-inject-h": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-inject-h/download/@vue/babel-sugar-inject-h-1.2.2.tgz", - "integrity": "sha1-1zjTyJM2fshJHcu2abAAkZKT46o=", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@vue/babel-sugar-v-model": { - "version": "1.2.3", - "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-v-model/download/@vue/babel-sugar-v-model-1.2.3.tgz?cache=0&sync_timestamp=1603182468308&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-v-model%2Fdownload%2F%40vue%2Fbabel-sugar-v-model-1.2.3.tgz", - "integrity": "sha1-+h8pulHr8KoabDX6ZtU5vEWaGPI=", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", - "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", - "camelcase": "^5.0.0", - "html-tags": "^2.0.0", - "svg-tags": "^1.0.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603921779318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz", - "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", - "dev": true - }, - "html-tags": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-2.0.0.tgz", - "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", - "dev": true - } - } - }, - "@vue/babel-sugar-v-on": { - "version": "1.2.3", - "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-v-on/download/@vue/babel-sugar-v-on-1.2.3.tgz?cache=0&sync_timestamp=1603182019525&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-v-on%2Fdownload%2F%40vue%2Fbabel-sugar-v-on-1.2.3.tgz", - "integrity": "sha1-NCNnF4WGpp85LwS/ujICHQKROto=", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", - "camelcase": "^5.0.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603921779318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz", - "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", - "dev": true - } - } - }, - "@vue/cli-overlay": { - "version": "4.5.12", - "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.12.tgz", - "integrity": "sha512-dCN0RzVpA8fp+MfjuVBROgM483MPObAb/je+APE/JhpCJyPQORYQEvNpmaorpN+9Cp6mrESVSzhh0qD4SFrlzg==", - "dev": true - }, - "@vue/cli-plugin-babel": { - "version": "4.5.12", - "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-babel/download/@vue/cli-plugin-babel-4.5.12.tgz", - "integrity": "sha1-yXN9QHlIXOm+B8RjyB4eM4hsYhk=", - "dev": true, - "requires": { - "@babel/core": "^7.11.0", - "@vue/babel-preset-app": "^4.5.12", - "@vue/cli-shared-utils": "^4.5.12", - "babel-loader": "^8.1.0", - "cache-loader": "^4.1.0", - "thread-loader": "^2.1.3", - "webpack": "^4.0.0" - } - }, - "@vue/cli-plugin-eslint": { - "version": "4.5.12", - "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-eslint/download/@vue/cli-plugin-eslint-4.5.12.tgz", - "integrity": "sha1-f8Kh0KSQ+jAO9OlFGMLMSbp6KS8=", - "dev": true, - "requires": { - "@vue/cli-shared-utils": "^4.5.12", - "eslint-loader": "^2.2.1", - "globby": "^9.2.0", - "inquirer": "^7.1.0", - "webpack": "^4.0.0", - "yorkie": "^2.0.0" - } - }, - "@vue/cli-plugin-router": { - "version": "4.5.12", - "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-router/download/@vue/cli-plugin-router-4.5.12.tgz", - "integrity": "sha1-l3xLK2lMwD6e+BYRKl1YkjST0Kw=", - "dev": true, - "requires": { - "@vue/cli-shared-utils": "^4.5.12" - } - }, - "@vue/cli-plugin-vuex": { - "version": "4.5.12", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.12.tgz", - "integrity": "sha512-STgbvNv/3iHAKArc18b/qjN7RX1FTrfxPeHH26GOr/A8lJes7+CSluZZ8E5R7Zr/vL0zOqOkUVDAjFXVf4zWQA==", - "dev": true, - "requires": {} - }, - "@vue/cli-service": { - "version": "4.5.12", - "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.5.12.tgz", - "integrity": "sha512-Di/dFw72HIvUrpTgnnPQkPq07mdd7z3GPeCH/o+6fv4bxOD+gwK9z7P6RkG4lGv2QdLz+qjim9f7xw5w+9ENkg==", - "dev": true, - "requires": { - "@intervolga/optimize-cssnano-plugin": "^1.0.5", - "@soda/friendly-errors-webpack-plugin": "^1.7.1", - "@soda/get-current-script": "^1.0.0", - "@types/minimist": "^1.2.0", - "@types/webpack": "^4.0.0", - "@types/webpack-dev-server": "^3.11.0", - "@vue/cli-overlay": "^4.5.12", - "@vue/cli-plugin-router": "^4.5.12", - "@vue/cli-plugin-vuex": "^4.5.12", - "@vue/cli-shared-utils": "^4.5.12", - "@vue/component-compiler-utils": "^3.1.2", - "@vue/preload-webpack-plugin": "^1.1.0", - "@vue/web-component-wrapper": "^1.2.0", - "acorn": "^7.4.0", - "acorn-walk": "^7.1.1", - "address": "^1.1.2", - "autoprefixer": "^9.8.6", - "browserslist": "^4.12.0", - "cache-loader": "^4.1.0", - "case-sensitive-paths-webpack-plugin": "^2.3.0", - "cli-highlight": "^2.1.4", - "clipboardy": "^2.3.0", - "cliui": "^6.0.0", - "copy-webpack-plugin": "^5.1.1", - "css-loader": "^3.5.3", - "cssnano": "^4.1.10", - "debug": "^4.1.1", - "default-gateway": "^5.0.5", - "dotenv": "^8.2.0", - "dotenv-expand": "^5.1.0", - "file-loader": "^4.2.0", - "fs-extra": "^7.0.1", - "globby": "^9.2.0", - "hash-sum": "^2.0.0", - "html-webpack-plugin": "^3.2.0", - "launch-editor-middleware": "^2.2.1", - "lodash.defaultsdeep": "^4.6.1", - "lodash.mapvalues": "^4.6.0", - "lodash.transform": "^4.6.0", - "mini-css-extract-plugin": "^0.9.0", - "minimist": "^1.2.5", - "pnp-webpack-plugin": "^1.6.4", - "portfinder": "^1.0.26", - "postcss-loader": "^3.0.0", - "ssri": "^7.1.0", - "terser-webpack-plugin": "^2.3.6", - "thread-loader": "^2.1.3", - "url-loader": "^2.2.0", - "vue-loader": "^15.9.2", - "vue-loader-v16": "npm:vue-loader@^16.1.0", - "vue-style-loader": "^4.1.2", - "webpack": "^4.0.0", - "webpack-bundle-analyzer": "^3.8.0", - "webpack-chain": "^6.4.0", - "webpack-dev-server": "^3.11.0", - "webpack-merge": "^4.2.2" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "cacache": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", - "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==", - "dev": true, - "requires": { - "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.2", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "minipass": "^3.0.0", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "p-map": "^3.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^2.7.1", - "ssri": "^7.0.0", - "unique-filename": "^1.1.1" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "hash-sum": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", - "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "terser-webpack-plugin": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz", - "integrity": "sha512-/fKw3R+hWyHfYx7Bv6oPqmk4HGQcrWLtV3X6ggvPuwPNHSnzvVV51z6OaaCOus4YLjutYGOz3pEpbhe6Up2s1w==", - "dev": true, - "requires": { - "cacache": "^13.0.1", - "find-cache-dir": "^3.3.1", - "jest-worker": "^25.4.0", - "p-limit": "^2.3.0", - "schema-utils": "^2.6.6", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.6.12", - "webpack-sources": "^1.4.3" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "@vue/cli-shared-utils": { - "version": "4.5.12", - "resolved": "https://registry.npm.taobao.org/@vue/cli-shared-utils/download/@vue/cli-shared-utils-4.5.12.tgz", - "integrity": "sha1-DgaT1IgzbShP+mWP8zseoikn0GU=", - "dev": true, - "requires": { - "@hapi/joi": "^15.0.1", - "chalk": "^2.4.2", - "execa": "^1.0.0", - "launch-editor": "^2.2.1", - "lru-cache": "^5.1.1", - "node-ipc": "^9.1.1", - "open": "^6.3.0", - "ora": "^3.4.0", - "read-pkg": "^5.1.1", - "request": "^2.88.2", - "semver": "^6.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", - "dev": true - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz", - "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "@vue/component-compiler-utils": { - "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/@vue/component-compiler-utils/download/@vue/component-compiler-utils-3.2.0.tgz?cache=0&sync_timestamp=1595427755828&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcomponent-compiler-utils%2Fdownload%2F%40vue%2Fcomponent-compiler-utils-3.2.0.tgz", - "integrity": "sha1-j4UYLO7Sjps8dTE95mn4MWbRHl0=", - "dev": true, - "requires": { - "consolidate": "^0.15.1", - "hash-sum": "^1.0.2", - "lru-cache": "^4.1.2", - "merge-source-map": "^1.1.0", - "postcss": "^7.0.14", - "postcss-selector-parser": "^6.0.2", - "prettier": "^1.18.2", - "source-map": "~0.6.1", - "vue-template-es2015-compiler": "^1.9.0" - }, - "dependencies": { - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427614275&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", - "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - } - }, - "@vue/preload-webpack-plugin": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/@vue/preload-webpack-plugin/download/@vue/preload-webpack-plugin-1.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fpreload-webpack-plugin%2Fdownload%2F%40vue%2Fpreload-webpack-plugin-1.1.2.tgz", - "integrity": "sha1-zrkktOyzucQ4ccekKaAvhCPmIas=", - "dev": true, - "requires": {} - }, - "@vue/web-component-wrapper": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/@vue/web-component-wrapper/download/@vue/web-component-wrapper-1.3.0.tgz?cache=0&sync_timestamp=1613216639558&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fweb-component-wrapper%2Fdownload%2F%40vue%2Fweb-component-wrapper-1.3.0.tgz", - "integrity": "sha1-trQKdiVCnSvXwigd26YB7QXcfxo=", - "dev": true - }, - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.9.0.tgz?cache=0&sync_timestamp=1610041327965&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fast%2Fdownload%2F%40webassemblyjs%2Fast-1.9.0.tgz", - "integrity": "sha1-vYUGBLQEJFmlpBzX0zjL7Wle2WQ=", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.9.0.tgz?cache=0&sync_timestamp=1610043274676&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Ffloating-point-hex-parser%2Fdownload%2F%40webassemblyjs%2Ffloating-point-hex-parser-1.9.0.tgz", - "integrity": "sha1-PD07Jxvd/ITesA9xNEQ4MR1S/7Q=", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.9.0.tgz?cache=0&sync_timestamp=1610041324030&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-api-error%2Fdownload%2F%40webassemblyjs%2Fhelper-api-error-1.9.0.tgz", - "integrity": "sha1-ID9nbjM7lsnaLuqzzO8zxFkotqI=", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.9.0.tgz?cache=0&sync_timestamp=1610041334130&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-buffer%2Fdownload%2F%40webassemblyjs%2Fhelper-buffer-1.9.0.tgz", - "integrity": "sha1-oUQtJpxf6yP8vJ73WdrDVH8p3gA=", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.9.0.tgz?cache=0&sync_timestamp=1610043273592&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-code-frame%2Fdownload%2F%40webassemblyjs%2Fhelper-code-frame-1.9.0.tgz", - "integrity": "sha1-ZH+Iks0gQ6gqwMjF51w28dkVnyc=", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.9.0.tgz?cache=0&sync_timestamp=1610041345513&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-fsm%2Fdownload%2F%40webassemblyjs%2Fhelper-fsm-1.9.0.tgz", - "integrity": "sha1-wFJWtxJEIUZx9LCOwQitY7cO3bg=", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.9.0.tgz?cache=0&sync_timestamp=1601755861500&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-module-context%2Fdownload%2F%40webassemblyjs%2Fhelper-module-context-1.9.0.tgz", - "integrity": "sha1-JdiIS3aDmHGgimxvgGw5ee9xLwc=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.9.0.tgz?cache=0&sync_timestamp=1610041334247&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-wasm-bytecode%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha1-T+2L6sm4wU+MWLcNEk1UndH+V5A=", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.9.0.tgz?cache=0&sync_timestamp=1610041332602&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-wasm-section%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-section-1.9.0.tgz", - "integrity": "sha1-WkE41aYpK6GLBMWuSXF+QWeWU0Y=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.9.0.tgz?cache=0&sync_timestamp=1610041334740&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fieee754%2Fdownload%2F%40webassemblyjs%2Fieee754-1.9.0.tgz", - "integrity": "sha1-Fceg+6roP7JhQ7us9tbfFwKtOeQ=", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.9.0.tgz?cache=0&sync_timestamp=1610041334514&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fleb128%2Fdownload%2F%40webassemblyjs%2Fleb128-1.9.0.tgz", - "integrity": "sha1-8Zygt2ptxVYjoJz/p2noOPoeHJU=", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.9.0.tgz?cache=0&sync_timestamp=1610041334838&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Futf8%2Fdownload%2F%40webassemblyjs%2Futf8-1.9.0.tgz", - "integrity": "sha1-BNM7Y2945qaBMifoJAL3Y3tiKas=", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-edit%2Fdownload%2F%40webassemblyjs%2Fwasm-edit-1.9.0.tgz", - "integrity": "sha1-P+bXnT8PkiGDqoYALELdJWz+6c8=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.9.0.tgz?cache=0&sync_timestamp=1610041335808&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-gen%2Fdownload%2F%40webassemblyjs%2Fwasm-gen-1.9.0.tgz", - "integrity": "sha1-ULxw7Gje2OJ2OwGhQYv0NJGnpJw=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.9.0.tgz?cache=0&sync_timestamp=1610041336191&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-opt%2Fdownload%2F%40webassemblyjs%2Fwasm-opt-1.9.0.tgz", - "integrity": "sha1-IhEYHlsxMmRDzIES658LkChyGmE=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.9.0.tgz?cache=0&sync_timestamp=1610041328345&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-parser%2Fdownload%2F%40webassemblyjs%2Fwasm-parser-1.9.0.tgz", - "integrity": "sha1-nUjkSCbfSmWYKUqmyHRp1kL/9l4=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.9.0.tgz?cache=0&sync_timestamp=1610041336497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwast-parser%2Fdownload%2F%40webassemblyjs%2Fwast-parser-1.9.0.tgz", - "integrity": "sha1-MDERXXmsW9JhVWzsw/qQo+9FGRQ=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.9.0.tgz?cache=0&sync_timestamp=1610041335289&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwast-printer%2Fdownload%2F%40webassemblyjs%2Fwast-printer-1.9.0.tgz", - "integrity": "sha1-STXVTIX+9jewDOn1I3dFHQDUeJk=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz", - "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz", - "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=", - "dev": true - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz", - "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=", - "dev": true, - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-7.4.1.tgz", - "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.3.1.tgz?cache=0&sync_timestamp=1599499160644&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-jsx%2Fdownload%2Facorn-jsx-5.3.1.tgz", - "integrity": "sha1-/IZh4Rt6wVOcR9v+oucrOvNNJns=", - "dev": true, - "requires": {} - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-7.2.0.tgz", - "integrity": "sha1-DeiJpgEgOQmw++B7iTjcIdLpZ7w=", - "dev": true - }, - "address": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz", - "integrity": "sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY=", - "dev": true - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.6.tgz", - "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.1.tgz?cache=0&sync_timestamp=1615411182875&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv-errors%2Fdownload%2Fajv-errors-1.0.1.tgz", - "integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0=", - "dev": true, - "requires": {} - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.2.tgz", - "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=", - "dev": true, - "requires": {} - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz", - "integrity": "sha1-46PaS/uubIapwoViXeEkojQCb78=", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-4.3.1.tgz", - "integrity": "sha1-pcR8xDGB8fOP/XB2g3cA05VSKmE=", - "dev": true, - "requires": { - "type-fest": "^0.11.0" - } - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", - "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1611325806500&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", - "dev": true - }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz", - "integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=", - "dev": true, - "optional": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz", - "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=", - "dev": true - }, - "arch": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/arch/download/arch-2.2.0.tgz?cache=0&sync_timestamp=1603836307202&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farch%2Fdownload%2Farch-2.2.0.tgz", - "integrity": "sha1-G8R4GPMFdk8jqzMGsL/AhsWinRE=", - "dev": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fargparse%2Fdownload%2Fargparse-1.0.10.tgz", - "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz?cache=0&sync_timestamp=1614624227561&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-union%2Fdownload%2Farray-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz", - "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npm.taobao.org/asn1.js/download/asn1.js-5.4.1.tgz", - "integrity": "sha1-EamAuE67kXgc41sP3C7ilON4Pwc=", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/assert/download/assert-1.5.0.tgz", - "integrity": "sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs=", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz", - "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz", - "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=", - "dev": true - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz", - "integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz", - "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=", - "dev": true - }, - "autoprefixer": { - "version": "9.8.6", - "resolved": "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-9.8.6.tgz?cache=0&sync_timestamp=1614956763868&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-9.8.6.tgz", - "integrity": "sha1-O3NZTKG/kmYyDFrPFYjXTep0IQ8=", - "dev": true, - "requires": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "colorette": "^1.2.1", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npm.taobao.org/aws4/download/aws4-1.11.0.tgz?cache=0&sync_timestamp=1604103580457&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faws4%2Fdownload%2Faws4-1.11.0.tgz", - "integrity": "sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk=", - "dev": true - }, - "babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.1.0.tgz", - "integrity": "sha1-aWjlaKkQt4+zd5zdi2rC9HmUMjI=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - } - }, - "babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.2.2.tgz?cache=0&sync_timestamp=1606424445376&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-loader%2Fdownload%2Fbabel-loader-8.2.2.tgz", - "integrity": "sha1-k2POhMEMmkDmx1N0jhRBtgyKC4E=", - "dev": true, - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npm.taobao.org/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-dynamic-import-node%2Fdownload%2Fbabel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha1-hP2hnJduxcbe/vV/lCez3vZuF6M=", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.1.10", - "resolved": "https://registry.npm.taobao.org/babel-plugin-polyfill-corejs2/download/babel-plugin-polyfill-corejs2-0.1.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-polyfill-corejs2%2Fdownload%2Fbabel-plugin-polyfill-corejs2-0.1.10.tgz", - "integrity": "sha1-osXCRfVsDKw9vdvwcmpGsk8PgdE=", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.0", - "@babel/helper-define-polyfill-provider": "^0.1.5", - "semver": "^6.1.1" - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.1.7", - "resolved": "https://registry.npm.taobao.org/babel-plugin-polyfill-corejs3/download/babel-plugin-polyfill-corejs3-0.1.7.tgz?cache=0&sync_timestamp=1614674439297&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-polyfill-corejs3%2Fdownload%2Fbabel-plugin-polyfill-corejs3-0.1.7.tgz", - "integrity": "sha1-gESdnW8idJEuBdnhgrVIFpBL79A=", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.1.5", - "core-js-compat": "^3.8.1" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/babel-plugin-polyfill-regenerator/download/babel-plugin-polyfill-regenerator-0.1.6.tgz?cache=0&sync_timestamp=1614675020617&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-polyfill-regenerator%2Fdownload%2Fbabel-plugin-polyfill-regenerator-0.1.6.tgz", - "integrity": "sha1-D+BqAm/g+qYozMi6MwLaCmzgLz8=", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.1.5" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz", - "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - } - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.5.1.tgz", - "integrity": "sha1-GxtEAWClv3rUC2UPCVljSBkDkwo=", - "dev": true - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "bfj": { - "version": "6.1.2", - "resolved": "https://registry.npm.taobao.org/bfj/download/bfj-6.1.2.tgz?cache=0&sync_timestamp=1577112180160&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbfj%2Fdownload%2Fbfj-6.1.2.tgz", - "integrity": "sha1-MlyGGoIryzWKQceKM7jm4ght3n8=", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "check-types": "^8.0.3", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz", - "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.2.0.tgz?cache=0&sync_timestamp=1610299413755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.2.0.tgz", - "integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=", - "dev": true, - "optional": true - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz", - "integrity": "sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=", - "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz", - "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=", - "dev": true - }, - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-5.2.0.tgz", - "integrity": "sha1-NYhgZ0OWxpl3canQUfzBtX1K4AI=", - "dev": true - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz", - "integrity": "sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=", - "dev": true, - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz", - "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", - "dev": true - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npm.taobao.org/bonjour/download/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - }, - "dependencies": { - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-2.1.2.tgz", - "integrity": "sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk=", - "dev": true - } - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz?cache=0&sync_timestamp=1614010713935&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrace-expansion%2Fdownload%2Fbrace-expansion-1.1.11.tgz", - "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz", - "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - } - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz", - "integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz", - "integrity": "sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz", - "integrity": "sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.1.0.tgz?cache=0&sync_timestamp=1605194217709&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserify-rsa%2Fdownload%2Fbrowserify-rsa-4.1.0.tgz", - "integrity": "sha1-sv0Gtbda4pf3zi3GUfkY9b4VjI0=", - "dev": true, - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.2.1.tgz?cache=0&sync_timestamp=1596557955875&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserify-sign%2Fdownload%2Fbrowserify-sign-4.2.1.tgz", - "integrity": "sha1-6vSt1G3VS+O7OzbAzxWrvrp5VsM=", - "dev": true, - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", - "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz", - "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", - "dev": true - } - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz", - "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "4.16.3", - "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-4.16.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.16.3.tgz", - "integrity": "sha1-NAqkaUDX24eHSFZ8XeokpI3fNxc=", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001181", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.649", - "escalade": "^3.1.1", - "node-releases": "^1.1.70" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz?cache=0&sync_timestamp=1606098075542&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer%2Fdownload%2Fbuffer-4.9.2.tgz", - "integrity": "sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg=", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz", - "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=", - "dev": true - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/buffer-indexof/download/buffer-indexof-1.1.1.tgz", - "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=", - "dev": true - }, - "buffer-json": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/buffer-json/download/buffer-json-2.0.0.tgz", - "integrity": "sha1-9z4TseQvGW/i/WfQAcfXEH7dfCM=", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz", - "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=", - "dev": true - }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-12.0.4.tgz", - "integrity": "sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw=", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - }, - "dependencies": { - "ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz", - "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "cache-loader": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/cache-loader/download/cache-loader-4.1.0.tgz", - "integrity": "sha1-mUjK41OuwKH8ser9ojAIFuyFOH4=", - "dev": true, - "requires": { - "buffer-json": "^2.0.0", - "find-cache-dir": "^3.0.0", - "loader-utils": "^1.2.3", - "mkdirp": "^0.5.1", - "neo-async": "^2.6.1", - "schema-utils": "^2.0.0" - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/call-bind/download/call-bind-1.0.2.tgz?cache=0&sync_timestamp=1610402833657&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcall-bind%2Fdownload%2Fcall-bind-1.0.2.tgz", - "integrity": "sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", - "dev": true - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/caller-callsite/download/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "requires": { - "callsites": "^2.0.0" - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/caller-path/download/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-6.2.0.tgz?cache=0&sync_timestamp=1603921779318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-6.2.0.tgz", - "integrity": "sha1-kkr4gcnVJaydh/QNlk5c6pgqGAk=", - "dev": true - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz", - "integrity": "sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA=", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001204", - "resolved": "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001204.tgz?cache=0&sync_timestamp=1616362520444&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001204.tgz", - "integrity": "sha1-JWyFcJo0jsTRdehHo7UVxm558qo=", - "dev": true - }, - "case-sensitive-paths-webpack-plugin": { - "version": "2.4.0", - "resolved": "https://registry.npm.taobao.org/case-sensitive-paths-webpack-plugin/download/case-sensitive-paths-webpack-plugin-2.4.0.tgz", - "integrity": "sha1-22QGbGQi7tLgjMFLmGykN5bbxtQ=", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1591687018980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npm.taobao.org/chardet/download/chardet-0.7.0.tgz?cache=0&sync_timestamp=1601032487499&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchardet%2Fdownload%2Fchardet-0.7.0.tgz", - "integrity": "sha1-kAlISfCTfy7twkJdDSip5fDLrZ4=", - "dev": true - }, - "check-types": { - "version": "8.0.3", - "resolved": "https://registry.npm.taobao.org/check-types/download/check-types-8.0.3.tgz", - "integrity": "sha1-M1bMoZyIlUTy16le1JzlCKDs9VI=", - "dev": true - }, - "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-3.5.1.tgz?cache=0&sync_timestamp=1610721450018&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.5.1.tgz", - "integrity": "sha1-7pznu+vSt59J8wR5nVRo4x4U5oo=", - "dev": true, - "optional": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", - "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", - "dev": true, - "optional": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", - "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", - "dev": true, - "optional": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.2.tgz", - "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", - "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", - "dev": true, - "optional": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", - "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "dev": true, - "optional": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/chownr/download/chownr-1.1.4.tgz", - "integrity": "sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs=", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.2.tgz", - "integrity": "sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ=", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npm.taobao.org/ci-info/download/ci-info-1.6.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fci-info%2Fdownload%2Fci-info-1.6.0.tgz", - "integrity": "sha1-LKINu5zrMtRSSmgzAzE/AwSx5Jc=", - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz", - "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz", - "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", - "dev": true - } - } - }, - "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.3.tgz?cache=0&sync_timestamp=1616153455026&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclean-css%2Fdownload%2Fclean-css-4.2.3.tgz", - "integrity": "sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g=", - "dev": true, - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-3.1.0.tgz", - "integrity": "sha1-JkMFp65JDR0Dvwybp8kl0XU68wc=", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-highlight": { - "version": "2.1.10", - "resolved": "https://registry.npm.taobao.org/cli-highlight/download/cli-highlight-2.1.10.tgz?cache=0&sync_timestamp=1610121100956&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-highlight%2Fdownload%2Fcli-highlight-2.1.10.tgz", - "integrity": "sha1-JqCH2pIJ3OT8uM9UJ9yXzZasFzo=", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "highlight.js": "^10.0.0", - "mz": "^2.4.0", - "parse5": "^5.1.1", - "parse5-htmlparser2-tree-adapter": "^6.0.0", - "yargs": "^16.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611325806500&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz?cache=0&sync_timestamp=1591687018980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "cli-spinners": { - "version": "2.6.0", - "resolved": "https://registry.npm.taobao.org/cli-spinners/download/cli-spinners-2.6.0.tgz", - "integrity": "sha1-NsfcmPtqmna9YjjsP3fiQlYn6Tk=", - "dev": true - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/cli-width/download/cli-width-3.0.0.tgz", - "integrity": "sha1-ovSEN6LKqaIkNueUvwceyeYc7fY=", - "dev": true - }, - "clipboardy": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/clipboardy/download/clipboardy-2.3.0.tgz", - "integrity": "sha1-PCkDZQxo5GqRs4iYW8J3QofbopA=", - "dev": true, - "requires": { - "arch": "^2.1.1", - "execa": "^1.0.0", - "is-wsl": "^2.1.1" - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - } - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz", - "integrity": "sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM=", - "dev": true, - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - } - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color": { - "version": "3.1.3", - "resolved": "https://registry.npm.taobao.org/color/download/color-3.1.3.tgz", - "integrity": "sha1-ymf7TnuX1hHc3jns7tQiBn2RWW4=", - "dev": true, - "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.4" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz", - "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "color-string": { - "version": "1.5.5", - "resolved": "https://registry.npm.taobao.org/color-string/download/color-string-1.5.5.tgz?cache=0&sync_timestamp=1614967287897&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolor-string%2Fdownload%2Fcolor-string-1.5.5.tgz", - "integrity": "sha1-ZUdKjw50OWJfPSemoZ2J/EUiMBQ=", - "dev": true, - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/colorette/download/colorette-1.2.2.tgz?cache=0&sync_timestamp=1614259623635&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolorette%2Fdownload%2Fcolorette-1.2.2.tgz", - "integrity": "sha1-y8x51emcrqLb8Q6zom/Ys+as+pQ=", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz", - "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz", - "integrity": "sha1-vXerfebelCBc6sxy8XFtKfIKd78=", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz", - "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=", - "dev": true - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npm.taobao.org/compressible/download/compressible-2.0.18.tgz", - "integrity": "sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o=", - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz", - "integrity": "sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48=", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz", - "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w=", - "dev": true - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz", - "integrity": "sha1-ZwY871fOts9Jk6KrOlWECujEkzY=", - "dev": true - }, - "consolidate": { - "version": "0.15.1", - "resolved": "https://registry.npm.taobao.org/consolidate/download/consolidate-0.15.1.tgz?cache=0&sync_timestamp=1599596658886&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconsolidate%2Fdownload%2Fconsolidate-0.15.1.tgz", - "integrity": "sha1-IasEMjXHGgfUXZqtmFk7DbpWurc=", - "dev": true, - "requires": { - "bluebird": "^3.1.1" - } - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz", - "integrity": "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=", - "dev": true, - "requires": { - "safe-buffer": "5.1.2" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz", - "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", - "dev": true - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz", - "integrity": "sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI=", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz", - "integrity": "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz", - "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "copy-webpack-plugin": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz", - "integrity": "sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==", - "dev": true, - "requires": { - "cacache": "^12.0.3", - "find-cache-dir": "^2.1.0", - "glob-parent": "^3.1.0", - "globby": "^7.1.1", - "is-glob": "^4.0.1", - "loader-utils": "^1.2.3", - "minimatch": "^3.0.4", - "normalize-path": "^3.0.0", - "p-limit": "^2.2.1", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", - "dev": true - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - } - } - }, - "core-js": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.11.1.tgz", - "integrity": "sha512-k93Isqg7e4txZWMGNYwevZL9MiogLk8pd1PtwrmFmi8IBq4GXqUaVW/a33Llt6amSI36uSjd0GWwc9pTT9ALlQ==" - }, - "core-js-compat": { - "version": "3.9.1", - "resolved": "https://registry.npm.taobao.org/core-js-compat/download/core-js-compat-3.9.1.tgz?cache=0&sync_timestamp=1614537245708&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js-compat%2Fdownload%2Fcore-js-compat-3.9.1.tgz", - "integrity": "sha1-Tlcqz+kK/2nXbYw3dZ0hpcWbtFU=", - "dev": true, - "requires": { - "browserslist": "^4.16.3", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1606851857382&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz", - "integrity": "sha1-XzyjV2HkfgWyBsba/yz4FPAxa44=", - "dev": true - } - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz?cache=0&sync_timestamp=1598867167433&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-5.2.1.tgz", - "integrity": "sha1-BA9yaAnFked6F8CjYmykW08Wixo=", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - } - }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.4.tgz?cache=0&sync_timestamp=1596557597835&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcreate-ecdh%2Fdownload%2Fcreate-ecdh-4.0.4.tgz", - "integrity": "sha1-1uf0v/pmc2CFoHYv06YyaE2rzE4=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz", - "integrity": "sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz", - "integrity": "sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz", - "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1606851857382&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", - "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", - "dev": true - } - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz", - "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true - }, - "css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz?cache=0&sync_timestamp=1604519240728&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-declaration-sorter%2Fdownload%2Fcss-declaration-sorter-4.0.1.tgz", - "integrity": "sha1-wZiUD2OnbX42wecQGLABchBUyyI=", - "dev": true, - "requires": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" - } - }, - "css-loader": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/css-loader/download/css-loader-3.6.0.tgz", - "integrity": "sha1-Lkssfm4tJ/jI8o9hv/zS5ske9kU=", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "cssesc": "^3.0.0", - "icss-utils": "^4.1.1", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.32", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.2", - "postcss-modules-scope": "^2.2.0", - "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^2.7.0", - "semver": "^6.3.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603921779318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz", - "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", - "dev": true - } - } - }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/css-select/download/css-select-2.1.0.tgz?cache=0&sync_timestamp=1608486173035&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-select%2Fdownload%2Fcss-select-2.1.0.tgz", - "integrity": "sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8=", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc=", - "dev": true - }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.37.tgz?cache=0&sync_timestamp=1606404079672&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-tree%2Fdownload%2Fcss-tree-1.0.0-alpha.37.tgz", - "integrity": "sha1-mL69YsTB2flg7DQM+fdSLjBwmiI=", - "dev": true, - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } - } - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npm.taobao.org/css-what/download/css-what-3.4.2.tgz?cache=0&sync_timestamp=1615262862801&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-what%2Fdownload%2Fcss-what-3.4.2.tgz", - "integrity": "sha1-6nAm/LAXd+295SEk4h8yfnrpUOQ=", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz", - "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=", - "dev": true - }, - "cssnano": { - "version": "4.1.10", - "resolved": "https://registry.npm.taobao.org/cssnano/download/cssnano-4.1.10.tgz", - "integrity": "sha1-CsQfCxPRPUZUh+ERt3jULaYxuLI=", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npm.taobao.org/cssnano-preset-default/download/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha1-UexmLM/KD4izltzZZ5zbkxvhf3Y=", - "dev": true, - "requires": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.2", - "postcss-unique-selectors": "^4.0.1" - } - }, - "cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", - "dev": true - }, - "cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", - "dev": true - }, - "cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI=", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M=", - "dev": true - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npm.taobao.org/csso/download/csso-4.2.0.tgz?cache=0&sync_timestamp=1606408883298&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsso%2Fdownload%2Fcsso-4.2.0.tgz", - "integrity": "sha1-6jpWE0bo3J9UbW/r7dUBh884lSk=", - "dev": true, - "requires": { - "css-tree": "^1.1.2" - }, - "dependencies": { - "css-tree": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/css-tree/download/css-tree-1.1.2.tgz?cache=0&sync_timestamp=1606404079672&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-tree%2Fdownload%2Fcss-tree-1.1.2.tgz", - "integrity": "sha1-muOTtdr9fa6KYiR1yux409j717U=", - "dev": true, - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.14.tgz", - "integrity": "sha1-cRP8QoGRfWPOKbQ0RvcB5owlulA=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } - } - }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz?cache=0&sync_timestamp=1601073407658&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdashdash%2Fdownload%2Fdashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "de-indent": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz", - "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", - "dev": true - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz", - "integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz?cache=0&sync_timestamp=1610348638646&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz", - "integrity": "sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=", - "dev": true, - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "deepmerge": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", - "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", - "dev": true - }, - "default-gateway": { - "version": "5.0.5", - "resolved": "https://registry.npm.taobao.org/default-gateway/download/default-gateway-5.0.5.tgz?cache=0&sync_timestamp=1610365784356&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefault-gateway%2Fdownload%2Fdefault-gateway-5.0.5.tgz", - "integrity": "sha1-T9a9XShV05s0zFpZUFSG6ar8mxA=", - "dev": true, - "requires": { - "execa": "^3.3.0" - }, - "dependencies": { - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz", - "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "execa": { - "version": "3.4.0", - "resolved": "https://registry.npm.taobao.org/execa/download/execa-3.4.0.tgz?cache=0&sync_timestamp=1606973416764&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-3.4.0.tgz", - "integrity": "sha1-wI7UVQ72XYWPrCaf/IVyRG8364k=", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-5.2.0.tgz?cache=0&sync_timestamp=1597056461891&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-5.2.0.tgz", - "integrity": "sha1-SWaheV7lrOZecGxLe+txJX1uItM=", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-2.0.0.tgz", - "integrity": "sha1-venDJoDW+uBBKdasnZIc54FfeOM=", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-4.0.1.tgz", - "integrity": "sha1-t+zR5e1T2o43pV4cImnguX7XSOo=", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-2.0.1.tgz", - "integrity": "sha1-vW/KqcVZoJa2gIBvTWV7Pw8kBWE=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz", - "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz", - "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz", - "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz", - "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/defaults/download/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "requires": { - "clone": "^1.0.2" - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz", - "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz", - "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - } - }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/del/download/del-4.1.1.tgz?cache=0&sync_timestamp=1601076785563&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdel%2Fdownload%2Fdel-4.1.1.tgz", - "integrity": "sha1-no8RciLqRKMf86FWwEm5kFKp8LQ=", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "dependencies": { - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz?cache=0&sync_timestamp=1616407110746&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/des.js/download/des.js-1.0.1.tgz", - "integrity": "sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "detect-node": { - "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.5.tgz?cache=0&sync_timestamp=1615920894247&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdetect-node%2Fdownload%2Fdetect-node-2.0.5.tgz", - "integrity": "sha1-nScKp+qlrwtyxMnZuBTn9M5zi3k=", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz", - "integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } - } - }, - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz", - "integrity": "sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ=", - "dev": true, - "requires": { - "path-type": "^3.0.0" - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/dns-packet/download/dns-packet-1.3.1.tgz", - "integrity": "sha1-EqpCaYEHW+UAuRDu3NC0fdfe2lo=", - "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz", - "integrity": "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz", - "integrity": "sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g=", - "dev": true, - "requires": { - "utila": "~0.4" - } - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz?cache=0&sync_timestamp=1607193128529&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdom-serializer%2Fdownload%2Fdom-serializer-0.2.2.tgz", - "integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.1.0.tgz", - "integrity": "sha1-qFHAgKbRw9lDRK7RUdmfZp7fWF4=", - "dev": true - } - } - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz", - "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=", - "dev": true - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz", - "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=", - "dev": true - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz?cache=0&sync_timestamp=1606872524192&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomhandler%2Fdownload%2Fdomhandler-2.4.2.tgz", - "integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz", - "integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npm.taobao.org/dot-prop/download/dot-prop-5.3.0.tgz?cache=0&sync_timestamp=1605778162251&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-5.3.0.tgz", - "integrity": "sha1-kMzOcIzZzYLMTcjD3dmr3VWyDog=", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - } - }, - "dotenv": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", - "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==", - "dev": true - }, - "dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/dotenv-expand/download/dotenv-expand-5.1.0.tgz", - "integrity": "sha1-P7rwIL/XlIhAcuomsel5HUWmKfA=", - "dev": true - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.2.tgz?cache=0&sync_timestamp=1597221020457&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fduplexer%2Fdownload%2Fduplexer-0.1.2.tgz", - "integrity": "sha1-Or5DrvODX4rgd9E23c4PJ2sEAOY=", - "dev": true - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz", - "integrity": "sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "easy-stack": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/easy-stack/download/easy-stack-1.0.1.tgz?cache=0&sync_timestamp=1605128933665&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feasy-stack%2Fdownload%2Feasy-stack-1.0.1.tgz", - "integrity": "sha1-iv5CZGJpiMq7EfPHBMzQyDVBEGY=", - "dev": true - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz?cache=0&sync_timestamp=1612643343638&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fejs%2Fdownload%2Fejs-2.7.4.tgz", - "integrity": "sha1-SGYSh1c9zFPjZsehrlLDoSDuybo=", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.693", - "resolved": "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.693.tgz?cache=0&sync_timestamp=1616180676305&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.693.tgz", - "integrity": "sha1-UInFBqklwx+T/LFzoAOiLjQRFd0=", - "dev": true - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.4.tgz?cache=0&sync_timestamp=1612290557689&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felliptic%2Fdownload%2Felliptic-6.5.4.tgz", - "integrity": "sha1-2jfOvTHnmhNn6UG1ku0fvr1Yq7s=", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1614682798745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz", - "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", - "dev": true - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz", - "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz", - "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-4.5.0.tgz?cache=0&sync_timestamp=1610568463915&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fenhanced-resolve%2Fdownload%2Fenhanced-resolve-4.5.0.tgz", - "integrity": "sha1-Lzz9hNvjtIfxjy2y7x4GSlccpew=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.5.0.tgz", - "integrity": "sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - } - } - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.1" - }, - "dependencies": { - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - } - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/entities/download/entities-2.2.0.tgz?cache=0&sync_timestamp=1611535562200&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-2.2.0.tgz", - "integrity": "sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=", - "dev": true - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npm.taobao.org/errno/download/errno-0.1.8.tgz", - "integrity": "sha1-i7Ppx9Rjvkl2/4iPdrSAnrwugR8=", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz", - "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "error-stack-parser": { - "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/error-stack-parser/download/error-stack-parser-2.0.6.tgz", - "integrity": "sha1-WpmnB716TFinl5AtSNgoA+3mqtg=", - "dev": true, - "requires": { - "stackframe": "^1.1.1" - } - }, - "es-abstract": { - "version": "1.18.0", - "resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.18.0.tgz", - "integrity": "sha1-q4CzWe7Lft5MKYAAOQvFrD7HtaQ=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.2", - "is-string": "^1.0.5", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.0" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz", - "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/escalade/download/escalade-3.1.1.tgz?cache=0&sync_timestamp=1602567437752&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.1.1.tgz", - "integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1587627212242&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "eslint": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.25.0.tgz", - "integrity": "sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw==", - "dev": true, - "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash": "^4.17.21", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.4", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.1.1.tgz?cache=0&sync_timestamp=1599933670126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.1.tgz", - "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", - "dev": true - }, - "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.2.tgz", - "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "13.7.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.7.0.tgz", - "integrity": "sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.3.0.tgz?cache=0&sync_timestamp=1608469462038&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-3.3.0.tgz", - "integrity": "sha1-NxYsJfy566oublPVtNiM4X2eDCs=", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz", - "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=", - "dev": true - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "eslint-loader": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/eslint-loader/download/eslint-loader-2.2.1.tgz", - "integrity": "sha1-KLnBLaVAV68IReKmEScBova/gzc=", - "dev": true, - "requires": { - "loader-fs-cache": "^1.0.0", - "loader-utils": "^1.0.2", - "object-assign": "^4.0.1", - "object-hash": "^1.1.4", - "rimraf": "^2.6.1" - } - }, - "eslint-plugin-vue": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.9.0.tgz", - "integrity": "sha512-2Q0qQp5+5h+pZvJKCbG1/jCRUYrdgAz5BYKGyTlp2NU8mx09u3Hp7PsH6d5qef6ojuPoCXMnrbbDxeoplihrSw==", - "dev": true, - "requires": { - "eslint-utils": "^2.1.0", - "natural-compare": "^1.4.0", - "semver": "^7.3.2", - "vue-eslint-parser": "^7.6.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz?cache=0&sync_timestamp=1599933670126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-4.0.3.tgz", - "integrity": "sha1-ygODMxD2iJoyZHgaqC5j65z+eEg=", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1597435168678&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz", - "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", - "dev": true - }, - "espree": { - "version": "6.2.1", - "resolved": "https://registry.npm.taobao.org/espree/download/espree-6.2.1.tgz?cache=0&sync_timestamp=1607146443455&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fespree%2Fdownload%2Fespree-6.2.1.tgz", - "integrity": "sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o=", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz", - "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", - "dev": true - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/esquery/download/esquery-1.4.0.tgz?cache=0&sync_timestamp=1612565844379&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesquery%2Fdownload%2Fesquery-1.4.0.tgz", - "integrity": "sha1-IUj/w4uC6McFff7UhCWz5h8PJKU=", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz?cache=0&sync_timestamp=1596641390670&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz", - "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.3.0.tgz?cache=0&sync_timestamp=1598898247102&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesrecurse%2Fdownload%2Fesrecurse-4.3.0.tgz", - "integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz?cache=0&sync_timestamp=1596641390670&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz", - "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1596641390670&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz", - "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz", - "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true - }, - "event-pubsub": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/event-pubsub/download/event-pubsub-4.3.0.tgz?cache=0&sync_timestamp=1606361626381&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fevent-pubsub%2Fdownload%2Fevent-pubsub-4.3.0.tgz", - "integrity": "sha1-9o2Ba8KfHsAsU53FjI3UDOcss24=", - "dev": true - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz", - "integrity": "sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8=", - "dev": true - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npm.taobao.org/events/download/events-3.3.0.tgz", - "integrity": "sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA=", - "dev": true - }, - "eventsource": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/eventsource/download/eventsource-1.1.0.tgz", - "integrity": "sha1-AOjKfJIQnpSw3fMtrGd9hBAoz68=", - "dev": true, - "requires": { - "original": "^1.0.0" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz", - "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1606973416764&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz", - "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz?cache=0&sync_timestamp=1585184189864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpress%2Fdownload%2Fexpress-4.17.1.tgz", - "integrity": "sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=", - "dev": true, - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz", - "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", - "dev": true - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz", - "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/external-editor/download/external-editor-3.1.0.tgz", - "integrity": "sha1-ywP3QL764D6k0oPK7SdBqD8zVJU=", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz", - "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz", - "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", - "dev": true - }, - "fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.7.tgz?cache=0&sync_timestamp=1610876640588&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-2.2.7.tgz", - "integrity": "sha1-aVOFfDr6R1//ku5gFdUtpwpM050=", - "dev": true, - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz?cache=0&sync_timestamp=1576340291001&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-json-stable-stringify%2Fdownload%2Ffast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.11.3.tgz", - "integrity": "sha1-XA6aiWjokSwoZjn96XeosgnyUI4=", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.2.tgz", - "integrity": "sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4=", - "dev": true - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/figures/download/figures-3.2.0.tgz?cache=0&sync_timestamp=1581865349068&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffigures%2Fdownload%2Ffigures-3.2.0.tgz", - "integrity": "sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "file-loader": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz", - "integrity": "sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==", - "dev": true, - "requires": { - "loader-utils": "^1.2.3", - "schema-utils": "^2.5.0" - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz", - "integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=", - "dev": true, - "optional": true - }, - "filesize": { - "version": "3.6.1", - "resolved": "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz?cache=0&sync_timestamp=1582341519531&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffilesize%2Fdownload%2Ffilesize-3.6.1.tgz", - "integrity": "sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc=", - "dev": true - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - } - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz", - "integrity": "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-3.3.1.tgz", - "integrity": "sha1-ibM/rUpGcNqpT4Vff74x1thP6IA=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz?cache=0&sync_timestamp=1597169750265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz", - "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "dependencies": { - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", - "dev": true - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz", - "integrity": "sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug=", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "follow-redirects": { - "version": "1.13.3", - "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.13.3.tgz?cache=0&sync_timestamp=1614436958094&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.13.3.tgz", - "integrity": "sha1-5VmK1QF0wbxOhyMB6CrCzZf5Amc=", - "dev": true - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz?cache=0&sync_timestamp=1613411079128&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fform-data%2Fdownload%2Fform-data-2.3.3.tgz", - "integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-7.0.1.tgz?cache=0&sync_timestamp=1611075460296&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-7.0.1.tgz", - "integrity": "sha1-TxicRKoSO4lfcigE9V6iPq3DSOk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.3.2.tgz?cache=0&sync_timestamp=1612536512306&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.3.2.tgz", - "integrity": "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", - "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", - "dev": true - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.2.tgz?cache=0&sync_timestamp=1603829716561&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgensync%2Fdownload%2Fgensync-1.0.0-beta.2.tgz", - "integrity": "sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz", - "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.1.1.tgz", - "integrity": "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz?cache=0&sync_timestamp=1597056461891&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-4.1.0.tgz", - "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz", - "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", - "dev": true - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz?cache=0&sync_timestamp=1616075441021&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobals%2Fdownload%2Fglobals-11.12.0.tgz", - "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", - "dev": true - }, - "globby": { - "version": "9.2.0", - "resolved": "https://registry.npm.taobao.org/globby/download/globby-9.2.0.tgz?cache=0&sync_timestamp=1616407110746&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-9.2.0.tgz", - "integrity": "sha1-/QKacGxwPSm90XD0tts6P3p8tj0=", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" - } - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz", - "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", - "dev": true - }, - "gzip-size": { - "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/gzip-size/download/gzip-size-5.1.1.tgz?cache=0&sync_timestamp=1605523224661&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgzip-size%2Fdownload%2Fgzip-size-5.1.1.tgz", - "integrity": "sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ=", - "dev": true, - "requires": { - "duplexer": "^0.1.1", - "pify": "^4.0.1" - } - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.1.tgz", - "integrity": "sha1-hX95zjWVgMNA1DCBzGSJcNC7I04=", - "dev": true - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.5.tgz?cache=0&sync_timestamp=1596082652493&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhar-validator%2Fdownload%2Fhar-validator-5.1.5.tgz", - "integrity": "sha1-HwgDufjLIMD6E4It8ezds2veHv0=", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz", - "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/has-bigints/download/has-bigints-1.0.1.tgz", - "integrity": "sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.2.tgz?cache=0&sync_timestamp=1614443617831&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-symbols%2Fdownload%2Fhas-symbols-1.0.2.tgz", - "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/hash-base/download/hash-base-3.1.0.tgz", - "integrity": "sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM=", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", - "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz", - "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", - "dev": true - } - } - }, - "hash-sum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", - "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", - "dev": true - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz", - "integrity": "sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz", - "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", - "dev": true - }, - "hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/hex-color-regex/download/hex-color-regex-1.1.0.tgz", - "integrity": "sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4=", - "dev": true - }, - "highlight.js": { - "version": "10.7.1", - "resolved": "https://registry.npm.taobao.org/highlight.js/download/highlight.js-10.7.1.tgz", - "integrity": "sha1-qOxBUtsk6mMMkJJ9bK4qRfjsuVU=", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/hoopy/download/hoopy-0.1.4.tgz", - "integrity": "sha1-YJIH1mEQADOpqUAq096mdzgcGx0=", - "dev": true - }, - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.8.tgz?cache=0&sync_timestamp=1616081339660&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.8.tgz", - "integrity": "sha1-dTm9S8Hg4KiVgVouAmJCCxKFhIg=", - "dev": true - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/hsl-regex/download/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", - "dev": true - }, - "hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/hsla-regex/download/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", - "dev": true - }, - "html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.2.tgz", - "integrity": "sha1-l9RoiutcgYhqNk+qDK0d2hTUM6c=", - "dev": true - }, - "html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/html-entities/download/html-entities-1.4.0.tgz?cache=0&sync_timestamp=1615814920516&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-entities%2Fdownload%2Fhtml-entities-1.4.0.tgz", - "integrity": "sha1-z70bAdKvr5rcobEK59/6uYxx0tw=", - "dev": true - }, - "html-minifier": { - "version": "3.5.21", - "resolved": "https://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.21.tgz", - "integrity": "sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw=", - "dev": true, - "requires": { - "camel-case": "3.0.x", - "clean-css": "4.2.x", - "commander": "2.17.x", - "he": "1.2.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.4.x" - } - }, - "html-tags": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-3.1.0.tgz", - "integrity": "sha1-e15vfmZen7QfMAB+2eDUHpf7IUA=", - "dev": true - }, - "html-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz", - "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", - "dev": true, - "requires": { - "html-minifier": "^3.2.3", - "loader-utils": "^0.2.16", - "lodash": "^4.17.3", - "pretty-error": "^2.0.2", - "tapable": "^1.0.0", - "toposort": "^1.0.0", - "util.promisify": "1.0.0" - }, - "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-3.2.0.tgz", - "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=", - "dev": true - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz?cache=0&sync_timestamp=1584445207623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-utils%2Fdownload%2Floader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - } - } - }, - "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz?cache=0&sync_timestamp=1615144926274&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-3.10.1.tgz", - "integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=", - "dev": true, - "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz?cache=0&sync_timestamp=1611535562200&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-1.1.2.tgz", - "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=", - "dev": true - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", - "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.2.tgz", - "integrity": "sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, - "http-parser-js": { - "version": "0.5.3", - "resolved": "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.5.3.tgz?cache=0&sync_timestamp=1609539959333&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-parser-js%2Fdownload%2Fhttp-parser-js-0.5.3.tgz", - "integrity": "sha1-AdJwnHnUFpi7AdTezF6dpOSgM9k=", - "dev": true - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npm.taobao.org/http-proxy/download/http-proxy-1.18.1.tgz", - "integrity": "sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-middleware": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz", - "integrity": "sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==", - "dev": true, - "requires": { - "@types/http-proxy": "^1.17.5", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1600868446752&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/human-signals/download/human-signals-1.1.1.tgz", - "integrity": "sha1-xbHNFPUK6uCatsWf5jujOV/k36M=", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz?cache=0&sync_timestamp=1594184266261&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.24.tgz", - "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/icss-utils/download/icss-utils-4.1.1.tgz?cache=0&sync_timestamp=1605801506037&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficss-utils%2Fdownload%2Ficss-utils-4.1.1.tgz", - "integrity": "sha1-IRcLU3ie4nRHwvR91oMIFAP5pGc=", - "dev": true, - "requires": { - "postcss": "^7.0.14" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.2.1.tgz?cache=0&sync_timestamp=1603838702791&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fieee754%2Fdownload%2Fieee754-1.2.1.tgz", - "integrity": "sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I=", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz", - "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", - "dev": true - }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "dev": true, - "requires": { - "import-from": "^2.1.0" - } - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz?cache=0&sync_timestamp=1608469462038&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/import-from/download/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/import-local/download/import-local-2.0.0.tgz", - "integrity": "sha1-VQcL44pZk88Y72236WH1vuXFoJ0=", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1597169750265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz", - "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flocate-path%2Fdownload%2Flocate-path-3.0.0.tgz", - "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz?cache=0&sync_timestamp=1597081369770&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-locate%2Fdownload%2Fp-locate-3.0.0.tgz", - "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz?cache=0&sync_timestamp=1602858997485&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-3.0.0.tgz", - "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz", - "integrity": "sha1-xM78qo5RBRwqQLos6KPScpWvlGc=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz", - "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", - "dev": true - }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npm.taobao.org/inquirer/download/inquirer-7.3.3.tgz?cache=0&sync_timestamp=1614296916461&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finquirer%2Fdownload%2Finquirer-7.3.3.tgz", - "integrity": "sha1-BNF2sq8Er8FXqD/XwQDpjuCq0AM=", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611325806500&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz?cache=0&sync_timestamp=1591687018980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", - "dev": true - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-4.2.2.tgz?cache=0&sync_timestamp=1614522241573&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-4.2.2.tgz", - "integrity": "sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz", - "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz?cache=0&sync_timestamp=1605885547401&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finternal-ip%2Fdownload%2Finternal-ip-4.3.0.tgz", - "integrity": "sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc=", - "dev": true, - "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - }, - "dependencies": { - "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npm.taobao.org/default-gateway/download/default-gateway-4.2.0.tgz?cache=0&sync_timestamp=1610365784356&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefault-gateway%2Fdownload%2Fdefault-gateway-4.2.0.tgz", - "integrity": "sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs=", - "dev": true, - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - } - } - } - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/ip-regex/download/ip-regex-2.1.0.tgz?cache=0&sync_timestamp=1611327086114&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fip-regex%2Fdownload%2Fip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.1.tgz", - "integrity": "sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=", - "dev": true - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz?cache=0&sync_timestamp=1569735663940&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-absolute-url%2Fdownload%2Fis-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "dev": true - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-arguments/download/is-arguments-1.1.0.tgz?cache=0&sync_timestamp=1607117583816&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-arguments%2Fdownload%2Fis-arguments-1.1.0.tgz", - "integrity": "sha1-YjUwMd++4HzrNGVqa95Z7+yujdk=", - "dev": true, - "requires": { - "call-bind": "^1.0.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-bigint": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-bigint/download/is-bigint-1.0.1.tgz", - "integrity": "sha1-aSMFHfy8dkJ4VAuc4OazITql68I=", - "dev": true - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz", - "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-boolean-object/download/is-boolean-object-1.1.0.tgz", - "integrity": "sha1-4qqtOjqPyjTCj27uE1sVbtJYf/A=", - "dev": true, - "requires": { - "call-bind": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz?cache=0&sync_timestamp=1604429461527&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-buffer%2Fdownload%2Fis-buffer-1.1.6.tgz", - "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", - "dev": true - }, - "is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.3.tgz?cache=0&sync_timestamp=1612133035765&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-callable%2Fdownload%2Fis-callable-1.2.3.tgz", - "integrity": "sha1-ix4FALc6HXbHBIdjbzaOUZ3o244=", - "dev": true - }, - "is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/is-ci/download/is-ci-1.2.1.tgz", - "integrity": "sha1-43ecjuF/zPQoSI9uKBGH8uYyhBw=", - "dev": true, - "requires": { - "ci-info": "^1.5.0" - } - }, - "is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-color-stop/download/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "dev": true, - "requires": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, - "is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/is-core-module/download/is-core-module-2.2.0.tgz?cache=0&sync_timestamp=1606411565080&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-core-module%2Fdownload%2Fis-core-module-2.2.0.tgz", - "integrity": "sha1-lwN+89UiJNhRY/VZeytj2a/tmBo=", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz", - "integrity": "sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=", - "dev": true - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-docker": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/is-docker/download/is-docker-2.1.1.tgz", - "integrity": "sha1-QSWojkTkUNOE4JBH7eca3C0UQVY=", - "dev": true - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", - "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz", - "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/is-negative-zero/download/is-negative-zero-2.0.1.tgz?cache=0&sync_timestamp=1607123132826&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-negative-zero%2Fdownload%2Fis-negative-zero-2.0.1.tgz", - "integrity": "sha1-PedGwY3aIxkkGlNnWQjY92bxHCQ=", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-number-object": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/is-number-object/download/is-number-object-1.0.4.tgz", - "integrity": "sha1-NqyV50HPGLKD/B3fXoPaeY4+wZc=", - "dev": true - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-2.0.0.tgz", - "integrity": "sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI=", - "dev": true - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-2.2.0.tgz", - "integrity": "sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s=", - "dev": true - }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha1-v+Lcomxp85cmWkAJljYCk1oFOss=", - "dev": true, - "requires": { - "is-path-inside": "^2.1.0" - } - }, - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-path-inside/download/is-path-inside-2.1.0.tgz", - "integrity": "sha1-fJgQWH1lmkDSe8201WFuqwWUlLI=", - "dev": true, - "requires": { - "path-is-inside": "^1.0.2" - } - }, - "is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz?cache=0&sync_timestamp=1599667372314&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-object%2Fdownload%2Fis-plain-object-2.0.4.tgz", - "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/is-regex/download/is-regex-1.1.2.tgz?cache=0&sync_timestamp=1612217359034&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-regex%2Fdownload%2Fis-regex-1.1.2.tgz", - "integrity": "sha1-gcjr3k2xQvLPHFP8htakV4gmYlE=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.1" - } - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz", - "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/is-string/download/is-string-1.0.5.tgz", - "integrity": "sha1-QEk+0ZjvP/R3uMf5L2ROyCpc06Y=", - "dev": true - }, - "is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-svg/download/is-svg-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-svg%2Fdownload%2Fis-svg-3.0.0.tgz", - "integrity": "sha1-kyHb0pwhLlypnE+peUxxS8r6L3U=", - "dev": true, - "requires": { - "html-comment-regex": "^1.1.0" - } - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz", - "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz", - "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", - "dev": true - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-2.2.0.tgz?cache=0&sync_timestamp=1588494413662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-2.2.0.tgz", - "integrity": "sha1-dKTHbnfKn9P5MvKQwX6jJs0VcnE=", - "dev": true, - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "javascript-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", - "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", - "dev": true - }, - "jest-worker": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", - "dev": true, - "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "js-message": { - "version": "1.0.7", - "resolved": "https://registry.npm.taobao.org/js-message/download/js-message-1.0.7.tgz", - "integrity": "sha1-+93QU8ekcCGHG7iyyVOXzBfCDkc=", - "dev": true - }, - "js-queue": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/js-queue/download/js-queue-2.0.2.tgz?cache=0&sync_timestamp=1605129253735&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-queue%2Fdownload%2Fjs-queue-2.0.2.tgz", - "integrity": "sha1-C+WQM4+QOzbHPTPDGIOoIUEs1II=", - "dev": true, - "requires": { - "easy-stack": "^1.0.1" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz?cache=0&sync_timestamp=1586796260005&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-tokens%2Fdownload%2Fjs-tokens-4.0.0.tgz", - "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", - "dev": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.1.tgz?cache=0&sync_timestamp=1609680185552&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.1.tgz", - "integrity": "sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz?cache=0&sync_timestamp=1603891215549&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsesc%2Fdownload%2Fjsesc-2.5.2.tgz", - "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npm.taobao.org/json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0=", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz?cache=0&sync_timestamp=1609553838875&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema%2Fdownload%2Fjson-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1607999852153&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz", - "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npm.taobao.org/json3/download/json3-3.3.3.tgz", - "integrity": "sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E=", - "dev": true - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz", - "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz?cache=0&sync_timestamp=1604161824632&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonfile%2Fdownload%2Fjsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/killable/download/killable-1.0.1.tgz", - "integrity": "sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI=", - "dev": true - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", - "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", - "dev": true - }, - "launch-editor": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/launch-editor/download/launch-editor-2.2.1.tgz", - "integrity": "sha1-hxtaPuOdZoD8wm03kwtu7aidsMo=", - "dev": true, - "requires": { - "chalk": "^2.3.0", - "shell-quote": "^1.6.1" - } - }, - "launch-editor-middleware": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/launch-editor-middleware/download/launch-editor-middleware-2.2.1.tgz", - "integrity": "sha1-4UsH5scVSwpLhqD9NFeE5FgEwVc=", - "dev": true, - "requires": { - "launch-editor": "^2.2.1" - } - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "loader-fs-cache": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/loader-fs-cache/download/loader-fs-cache-1.0.3.tgz", - "integrity": "sha1-8IZXZG1gcHi+LwoDL4vWndbyd9k=", - "dev": true, - "requires": { - "find-cache-dir": "^0.1.1", - "mkdirp": "^0.5.1" - }, - "dependencies": { - "find-cache-dir": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz", - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz?cache=0&sync_timestamp=1597169750265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "pkg-dir": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-1.0.0.tgz?cache=0&sync_timestamp=1602858997485&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", - "dev": true, - "requires": { - "find-up": "^1.0.0" - } - } - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz?cache=0&sync_timestamp=1610027908268&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-runner%2Fdownload%2Floader-runner-2.4.0.tgz", - "integrity": "sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c=", - "dev": true - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz?cache=0&sync_timestamp=1584445207623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-utils%2Fdownload%2Floader-utils-1.4.0.tgz", - "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz", - "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flocate-path%2Fdownload%2Flocate-path-5.0.0.tgz", - "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.21.tgz", - "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", - "dev": true - }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npm.taobao.org/lodash.debounce/download/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "lodash.defaultsdeep": { - "version": "4.6.1", - "resolved": "https://registry.npm.taobao.org/lodash.defaultsdeep/download/lodash.defaultsdeep-4.6.1.tgz?cache=0&sync_timestamp=1562718717933&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash.defaultsdeep%2Fdownload%2Flodash.defaultsdeep-4.6.1.tgz", - "integrity": "sha1-US6b1yHSctlOPTpjZT+hdRZ0HKY=", - "dev": true - }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", - "dev": true - }, - "lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/lodash.kebabcase/download/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", - "dev": true - }, - "lodash.mapvalues": { - "version": "4.6.0", - "resolved": "https://registry.npm.taobao.org/lodash.mapvalues/download/lodash.mapvalues-4.6.0.tgz", - "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "lodash.transform": { - "version": "4.6.0", - "resolved": "https://registry.npm.taobao.org/lodash.transform/download/lodash.transform-4.6.0.tgz", - "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=", - "dev": true - }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "dev": true - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-2.2.0.tgz", - "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=", - "dev": true, - "requires": { - "chalk": "^2.0.1" - } - }, - "loglevel": { - "version": "1.7.1", - "resolved": "https://registry.npm.taobao.org/loglevel/download/loglevel-1.7.1.tgz?cache=0&sync_timestamp=1606312226891&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floglevel%2Fdownload%2Floglevel-1.7.1.tgz", - "integrity": "sha1-AF/eL15uRwaPk1/yhXPhJe9y8Zc=", - "dev": true - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz?cache=0&sync_timestamp=1606869726575&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flower-case%2Fdownload%2Flower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz?cache=0&sync_timestamp=1594427614275&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-5.1.1.tgz", - "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz", - "integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz", - "integrity": "sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.4.tgz", - "integrity": "sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs=", - "dev": true - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/merge-source-map/download/merge-source-map-1.1.0.tgz", - "integrity": "sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=", - "dev": true, - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz", - "integrity": "sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A=", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz", - "integrity": "sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-3.1.10.tgz", - "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz", - "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } - } - }, - "mime": { - "version": "2.5.2", - "resolved": "https://registry.npm.taobao.org/mime/download/mime-2.5.2.tgz?cache=0&sync_timestamp=1613584838235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-2.5.2.tgz", - "integrity": "sha1-bj3GzCuVEGQ4MOXxnVy3U9pe6r4=", - "dev": true - }, - "mime-db": { - "version": "1.46.0", - "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.46.0.tgz", - "integrity": "sha1-Ymd0in95lZTePLyM3pHe80lmHO4=", - "dev": true - }, - "mime-types": { - "version": "2.1.29", - "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.29.tgz?cache=0&sync_timestamp=1613608491741&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.29.tgz", - "integrity": "sha1-HUq3faZLkfX3JInfKSNlY3VLsbI=", - "dev": true, - "requires": { - "mime-db": "1.46.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz?cache=0&sync_timestamp=1596094003090&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-2.1.0.tgz", - "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", - "dev": true - }, - "mini-css-extract-plugin": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", - "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "normalize-url": "1.9.1", - "schema-utils": "^1.0.0", - "webpack-sources": "^1.1.0" - }, - "dependencies": { - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz", - "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz", - "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=", - "dev": true - }, - "minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - }, - "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz", - "integrity": "sha1-6goykfl+C16HdrNj1fChLZTGcCI=", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz", - "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz", - "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npm.taobao.org/multicast-dns/download/multicast-dns-6.2.3.tgz", - "integrity": "sha1-oOx72QVcQoL3kMPIL04o2zsxsik=", - "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.8.tgz", - "integrity": "sha1-FjDEKyJR/4HiooPelqVJfqkuXg0=", - "dev": true - }, - "mz": { - "version": "2.7.0", - "resolved": "https://registry.npm.taobao.org/mz/download/mz-2.7.0.tgz", - "integrity": "sha1-lQCAV6Vsr63CvGPd5/n/aVWUjjI=", - "dev": true, - "requires": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "nan": { - "version": "2.14.2", - "resolved": "https://registry.npm.taobao.org/nan/download/nan-2.14.2.tgz?cache=0&sync_timestamp=1602591595921&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnan%2Fdownload%2Fnan-2.14.2.tgz", - "integrity": "sha1-9TdkAGlRaPTMaUrJOT0MlYXu6hk=", - "dev": true, - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz", - "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz", - "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz?cache=0&sync_timestamp=1594317416459&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fneo-async%2Fdownload%2Fneo-async-2.6.2.tgz", - "integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8=", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz", - "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=", - "dev": true - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz?cache=0&sync_timestamp=1606869671099&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fno-case%2Fdownload%2Fno-case-2.3.2.tgz", - "integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=", - "dev": true, - "requires": { - "lower-case": "^1.1.1" - } - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npm.taobao.org/node-forge/download/node-forge-0.10.0.tgz?cache=0&sync_timestamp=1599010928186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-forge%2Fdownload%2Fnode-forge-0.10.0.tgz", - "integrity": "sha1-Mt6ir7Ppkm8C7lzoeUkCaRpna/M=", - "dev": true - }, - "node-ipc": { - "version": "9.1.4", - "resolved": "https://registry.npm.taobao.org/node-ipc/download/node-ipc-9.1.4.tgz?cache=0&sync_timestamp=1614360292509&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-ipc%2Fdownload%2Fnode-ipc-9.1.4.tgz", - "integrity": "sha1-Ks+WJoGv2sJgKHbZj+ZDTVTZvTw=", - "dev": true, - "requires": { - "event-pubsub": "4.3.0", - "js-message": "1.0.7", - "js-queue": "2.0.2" - } - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz", - "integrity": "sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU=", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } - } - }, - "node-releases": { - "version": "1.1.71", - "resolved": "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.71.tgz?cache=0&sync_timestamp=1614109281105&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.71.tgz", - "integrity": "sha1-yxM0sXmJaxyJ7P3UtyX7e738fbs=", - "dev": true - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz?cache=0&sync_timestamp=1616086903193&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-package-data%2Fdownload%2Fnormalize-package-data-2.5.0.tgz", - "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1606851857382&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", - "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", - "dev": true - } - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", - "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", - "dev": true - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz", - "integrity": "sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=", - "dev": true, - "requires": { - "boolbase": "~1.0.0" - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz", - "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", - "dev": true - } - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-hash": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/object-hash/download/object-hash-1.3.1.tgz", - "integrity": "sha1-/eRSCYqVHLFF8Dm7fUVUSd3BJt8=", - "dev": true - }, - "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.9.0.tgz?cache=0&sync_timestamp=1606804315827&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.9.0.tgz", - "integrity": "sha1-yQUh104RJ7ZyZt7TOUrWEWmGUzo=", - "dev": true - }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npm.taobao.org/object-is/download/object-is-1.1.5.tgz?cache=0&sync_timestamp=1613857652230&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-is%2Fdownload%2Fobject-is-1.1.5.tgz", - "integrity": "sha1-ud7qpfx/GEag+uzc7sE45XePU6w=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", - "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.2.tgz?cache=0&sync_timestamp=1604117098938&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.assign%2Fdownload%2Fobject.assign-4.1.2.tgz", - "integrity": "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.2.tgz?cache=0&sync_timestamp=1613860226109&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.getownpropertydescriptors%2Fdownload%2Fobject.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha1-G9Y66s8NXS0vMbXjk7A6fGAaI/c=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "object.values": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/object.values/download/object.values-1.1.3.tgz", - "integrity": "sha1-6qix4XWJ8C9pjbCT98Yu4WmXQu4=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has": "^1.0.3" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/obuf/download/obuf-1.1.2.tgz", - "integrity": "sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/on-headers/download/on-headers-1.0.2.tgz", - "integrity": "sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8=", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-5.1.2.tgz?cache=0&sync_timestamp=1597003442669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fonetime%2Fdownload%2Fonetime-5.1.2.tgz", - "integrity": "sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4=", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "open": { - "version": "6.4.0", - "resolved": "https://registry.npm.taobao.org/open/download/open-6.4.0.tgz", - "integrity": "sha1-XBPpbQ3IlGhhZPGJZez+iJ7PyKk=", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - }, - "dependencies": { - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz?cache=0&sync_timestamp=1588494413662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - } - } - }, - "opener": { - "version": "1.5.2", - "resolved": "https://registry.npm.taobao.org/opener/download/opener-1.5.2.tgz?cache=0&sync_timestamp=1598732797840&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopener%2Fdownload%2Fopener-1.5.2.tgz", - "integrity": "sha1-XTfh81B3udysQwE3InGv3rKhNZg=", - "dev": true - }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npm.taobao.org/opn/download/opn-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopn%2Fdownload%2Fopn-5.5.0.tgz", - "integrity": "sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w=", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - }, - "dependencies": { - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz?cache=0&sync_timestamp=1588494413662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - } - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "ora": { - "version": "3.4.0", - "resolved": "https://registry.npm.taobao.org/ora/download/ora-3.4.0.tgz", - "integrity": "sha1-vwdSSRBZo+8+1MhQl1Md6f280xg=", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-spinners": "^2.0.0", - "log-symbols": "^2.2.0", - "strip-ansi": "^5.2.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz?cache=0&sync_timestamp=1596094003090&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-1.2.0.tgz", - "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=", - "dev": true - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz?cache=0&sync_timestamp=1597003442669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fonetime%2Fdownload%2Fonetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - } - } - }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/original/download/original-1.0.2.tgz", - "integrity": "sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8=", - "dev": true, - "requires": { - "url-parse": "^1.4.3" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1606288806475&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz", - "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz?cache=0&sync_timestamp=1597081369770&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-locate%2Fdownload%2Fp-locate-4.1.0.tgz", - "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/p-map/download/p-map-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-map%2Fdownload%2Fp-map-2.1.0.tgz", - "integrity": "sha1-MQko/u+cnsxltosXaTAYpmXOoXU=", - "dev": true - }, - "p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/p-retry/download/p-retry-3.0.1.tgz?cache=0&sync_timestamp=1613394498681&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-retry%2Fdownload%2Fp-retry-3.0.1.tgz", - "integrity": "sha1-MWtMiJPiyNwc+okfQGxLQivr8yg=", - "dev": true, - "requires": { - "retry": "^0.12.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz", - "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", - "dev": true - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npm.taobao.org/pako/download/pako-1.0.11.tgz?cache=0&sync_timestamp=1610208884754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpako%2Fdownload%2Fpako-1.0.11.tgz", - "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=", - "dev": true - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.2.0.tgz", - "integrity": "sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw=", - "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz?cache=0&sync_timestamp=1606867782594&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparam-case%2Fdownload%2Fparam-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz", - "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=", - "dev": true, - "requires": { - "callsites": "^3.0.0" - }, - "dependencies": { - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz", - "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=", - "dev": true - } - } - }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.6.tgz?cache=0&sync_timestamp=1597165669703&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-asn1%2Fdownload%2Fparse-asn1-5.1.6.tgz", - "integrity": "sha1-OFCAo+wTy2KmLTlAnLPoiETNrtQ=", - "dev": true, - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz?cache=0&sync_timestamp=1610966654792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "parse5": { - "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-5.1.1.tgz?cache=0&sync_timestamp=1595850937464&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse5%2Fdownload%2Fparse5-5.1.1.tgz", - "integrity": "sha1-9o5OW6GFKsLK3AD0VV//bCq7YXg=", - "dev": true - }, - "parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npm.taobao.org/parse5-htmlparser2-tree-adapter/download/parse5-htmlparser2-tree-adapter-6.0.1.tgz?cache=0&sync_timestamp=1596089881005&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse5-htmlparser2-tree-adapter%2Fdownload%2Fparse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha1-LN+a2CMyEUA3DU2/XT6Sx8jdxuY=", - "dev": true, - "requires": { - "parse5": "^6.0.1" - }, - "dependencies": { - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-6.0.1.tgz?cache=0&sync_timestamp=1595850937464&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse5%2Fdownload%2Fparse5-6.0.1.tgz", - "integrity": "sha1-4aHAhcVps9wIMhGE8Zo5zCf3wws=", - "dev": true - } - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz", - "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz?cache=0&sync_timestamp=1583254392335&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-browserify%2Fdownload%2Fpath-browserify-0.0.1.tgz", - "integrity": "sha1-5sTd1+06onxoogzE5Q4aTug7vEo=", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz", - "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz?cache=0&sync_timestamp=1611752058913&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-type%2Fdownload%2Fpath-type-3.0.0.tgz", - "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpbkdf2%2Fdownload%2Fpbkdf2-3.1.1.tgz", - "integrity": "sha1-y4cksPramEWWhW0abrr9NYRlS5Q=", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "picomatch": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", - "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz", - "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-4.2.0.tgz?cache=0&sync_timestamp=1602858997485&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-4.2.0.tgz", - "integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "pnp-webpack-plugin": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", - "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", - "dev": true, - "requires": { - "ts-pnp": "^1.1.6" - } - }, - "portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.28.tgz?cache=0&sync_timestamp=1596018240041&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fportfinder%2Fdownload%2Fportfinder-1.0.28.tgz", - "integrity": "sha1-Z8RiKFK9U3TdHdkA93n1NGL6x3g=", - "dev": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.7.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.7.tgz", - "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.35.tgz", - "integrity": "sha1-0r4AuZj38hHYonaXQHny6SuXDiQ=", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz", - "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-calc": { - "version": "7.0.5", - "resolved": "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-7.0.5.tgz?cache=0&sync_timestamp=1609689403481&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-calc%2Fdownload%2Fpostcss-calc-7.0.5.tgz", - "integrity": "sha1-+KbpnxLmGcLrwjz2xIb9wVhgkz4=", - "dev": true, - "requires": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - } - }, - "postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-4.0.3.tgz", - "integrity": "sha1-rgYLzpPteUrHEmTwgTLVUJVr04E=", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz", - "integrity": "sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8=", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha1-H7q9LCRr/2qq15l7KwkY9NevQDM=", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha1-P+EzzTyCKC5VD8myORdqkge3hOs=", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha1-yMlR6fc+2UKAGUWERKAq2Qu592U=", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha1-ZSrvipZybwKfXj4AFG7npOdV/1c=", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-load-config": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-2.1.2.tgz?cache=0&sync_timestamp=1612743171132&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-load-config%2Fdownload%2Fpostcss-load-config-2.1.2.tgz", - "integrity": "sha1-xepQTyxK7zPHNZo03jVzdyrXUCo=", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" - } - }, - "postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/postcss-loader/download/postcss-loader-3.0.0.tgz", - "integrity": "sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0=", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1601922224938&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz", - "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ=", - "dev": true, - "requires": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha1-NivqT/Wh+Y5AdacTxsslrv75plA=", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&sync_timestamp=1601045461414&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", - "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY=", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE=", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz", - "integrity": "sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&sync_timestamp=1601045461414&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", - "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-2.0.0.tgz?cache=0&sync_timestamp=1602588177787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-extract-imports%2Fdownload%2Fpostcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha1-gYcZoa4doyX5gyRGsBE27rSTzX4=", - "dev": true, - "requires": { - "postcss": "^7.0.5" - } - }, - "postcss-modules-local-by-default": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-3.0.3.tgz?cache=0&sync_timestamp=1602587565462&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-3.0.3.tgz", - "integrity": "sha1-uxTgzHgnnVBNvcv9fgyiiZP/u7A=", - "dev": true, - "requires": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.32", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-2.2.0.tgz?cache=0&sync_timestamp=1602593177072&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-scope%2Fdownload%2Fpostcss-modules-scope-2.2.0.tgz", - "integrity": "sha1-OFyuATzHdD9afXYC0Qc6iequYu4=", - "dev": true, - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" - } - }, - "postcss-modules-values": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-3.0.0.tgz?cache=0&sync_timestamp=1602586198892&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-values%2Fdownload%2Fpostcss-modules-values-3.0.0.tgz", - "integrity": "sha1-W1AA1uuuKbQlUwG0o6VFdEI+fxA=", - "dev": true, - "requires": { - "icss-utils": "^4.0.0", - "postcss": "^7.0.6" - } - }, - "postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha1-izWt067oOhNrBHHg1ZvlilAoXdQ=", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha1-Db4EpM6QY9RmftK+R2u4MMglk1o=", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-positions/download/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8=", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw=", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw=", - "dev": true, - "requires": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha1-jgCcoqOUnNr4rSPmtquZy159KNk=", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs=", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE=", - "dev": true, - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz?cache=0&sync_timestamp=1602432435724&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-url%2Fdownload%2Fnormalize-url-3.3.0.tgz", - "integrity": "sha1-suHE3E98bVd0PfczpPWXjRhlBVk=", - "dev": true - }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI=", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4=", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha1-f9QuvqXpyBRgljniwuhK4nC6SN8=", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha1-F++kBerMbge+NBSlyi0QdGgdTik=", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-selector-parser": { - "version": "6.0.4", - "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-6.0.4.tgz?cache=0&sync_timestamp=1601045461414&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.4.tgz", - "integrity": "sha1-VgdaE4CgRgTDiwY+p3Z6Epr1wrM=", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", - "util-deprecate": "^1.0.2" - } - }, - "postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.2.tgz", - "integrity": "sha1-F7mXvHEbMzurFDqu07jT1uPTglg=", - "dev": true, - "requires": { - "is-svg": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" - } - }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-4.1.0.tgz", - "integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss=", - "dev": true - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npm.taobao.org/prettier/download/prettier-1.19.1.tgz?cache=0&sync_timestamp=1606521150228&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprettier%2Fdownload%2Fprettier-1.19.1.tgz", - "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=", - "dev": true, - "optional": true - }, - "pretty-error": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.2.tgz?cache=0&sync_timestamp=1609589327290&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-error%2Fdownload%2Fpretty-error-2.1.2.tgz", - "integrity": "sha1-von4LYGxyG7I/fvDhQRYgnJ/k7Y=", - "dev": true, - "requires": { - "lodash": "^4.17.20", - "renderkid": "^2.0.4" - } - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz", - "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=", - "dev": true - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz", - "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=", - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz", - "integrity": "sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8=", - "dev": true, - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz?cache=0&sync_timestamp=1585143008124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpsl%2Fdownload%2Fpsl-1.8.0.tgz", - "integrity": "sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ=", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz", - "integrity": "sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz", - "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz", - "integrity": "sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz", - "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", - "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", - "dev": true - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz", - "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=", - "dev": true - }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "dev": true, - "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/querystringify/download/querystringify-2.2.0.tgz?cache=0&sync_timestamp=1597686695751&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquerystringify%2Fdownload%2Fquerystringify-2.2.0.tgz", - "integrity": "sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y=", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz", - "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz", - "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz", - "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=", - "dev": true - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.0.tgz", - "integrity": "sha1-oc5vucm8NWylLoklarWQWeE9AzI=", - "dev": true, - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-5.2.0.tgz", - "integrity": "sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-5.2.0.tgz?cache=0&sync_timestamp=1610966654792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-5.2.0.tgz", - "integrity": "sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npm.taobao.org/type-fest/download/type-fest-0.6.0.tgz", - "integrity": "sha1-jSojcNPfiG61yQraHFv2GIrPg4s=", - "dev": true - } - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", - "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-3.5.0.tgz", - "integrity": "sha1-m6dMAZsV02UnjS6Ru4xI17TULJ4=", - "dev": true, - "optional": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.2.tgz?cache=0&sync_timestamp=1604218535967&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerate%2Fdownload%2Fregenerate-1.4.2.tgz", - "integrity": "sha1-uTRtiCfo9aMve6KWN9OYtpAUhIo=", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerate-unicode-properties%2Fdownload%2Fregenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha1-5d5xEdZV57pgwFfb6f83yH5lzew=", - "dev": true, - "requires": { - "regenerate": "^1.4.0" - } - }, - "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz?cache=0&sync_timestamp=1595456023687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.7.tgz", - "integrity": "sha1-ysLazIoepnX+qrrriugziYrkb1U=", - "dev": true - }, - "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.14.5.tgz?cache=0&sync_timestamp=1593557458064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-transform%2Fdownload%2Fregenerator-transform-0.14.5.tgz", - "integrity": "sha1-yY2hVGg2ccnE3LFuznNlF+G3/rQ=", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz", - "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz?cache=0&sync_timestamp=1610725705400&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexp.prototype.flags%2Fdownload%2Fregexp.prototype.flags-1.3.1.tgz", - "integrity": "sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true - }, - "regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-4.7.1.tgz?cache=0&sync_timestamp=1600413475854&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexpu-core%2Fdownload%2Fregexpu-core-4.7.1.tgz", - "integrity": "sha1-LepamgcjMpj78NuR+pq8TG4PitY=", - "dev": true, - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } - }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npm.taobao.org/regjsgen/download/regjsgen-0.5.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregjsgen%2Fdownload%2Fregjsgen-0.5.2.tgz", - "integrity": "sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM=", - "dev": true - }, - "regjsparser": { - "version": "0.6.7", - "resolved": "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.6.7.tgz", - "integrity": "sha1-wAFk4eZxPC4+5kHxcBxLeqCn+Gw=", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz?cache=0&sync_timestamp=1603891215549&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsesc%2Fdownload%2Fjsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "renderkid": { - "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/renderkid/download/renderkid-2.0.5.tgz?cache=0&sync_timestamp=1609588540446&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frenderkid%2Fdownload%2Frenderkid-2.0.5.tgz", - "integrity": "sha1-SDsaxZxmAaswp6WWpZZcq8z90KU=", - "dev": true, - "requires": { - "css-select": "^2.0.2", - "dom-converter": "^0.2", - "htmlparser2": "^3.10.1", - "lodash": "^4.17.20", - "strip-ansi": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz", - "integrity": "sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4=", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz", - "integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz", - "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz", - "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-3.1.0.tgz", - "integrity": "sha1-OfZ8VLOnpYzqUjbZXPADQjljH34=", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz?cache=0&sync_timestamp=1613003036585&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fret%2Fdownload%2Fret-0.1.15.tgz", - "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", - "dev": true - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true - }, - "rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/rgb-regex/download/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", - "dev": true - }, - "rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz", - "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz", - "integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npm.taobao.org/run-async/download/run-async-2.4.1.tgz", - "integrity": "sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU=", - "dev": true - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, - "rxjs": { - "version": "6.6.6", - "resolved": "https://registry.npm.taobao.org/rxjs/download/rxjs-6.6.6.tgz", - "integrity": "sha1-FNhBeqWgfF5jOZW1JeHjwN7AO3A=", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", - "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", - "dev": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz", - "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", - "dev": true - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz", - "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", - "dev": true - }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-2.7.1.tgz?cache=0&sync_timestamp=1601922224938&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-2.7.1.tgz", - "integrity": "sha1-HKTzLRskxZDCA7jnpQvw6kzTlNc=", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selfsigned": { - "version": "1.10.8", - "resolved": "https://registry.npm.taobao.org/selfsigned/download/selfsigned-1.10.8.tgz?cache=0&sync_timestamp=1600186146412&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fselfsigned%2Fdownload%2Fselfsigned-1.10.8.tgz", - "integrity": "sha1-DRcgi30Swz+OrIXEGDXyf8PYGjA=", - "dev": true, - "requires": { - "node-forge": "^0.10.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1606851857382&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", - "dev": true - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz", - "integrity": "sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1613584838235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz", - "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", - "dev": true - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.1.tgz", - "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-4.0.0.tgz?cache=0&sync_timestamp=1599742605902&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-4.0.0.tgz", - "integrity": "sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao=", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz", - "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", - "dev": true - } - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz", - "integrity": "sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=", - "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz", - "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz", - "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz", - "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npm.taobao.org/shell-quote/download/shell-quote-1.7.2.tgz", - "integrity": "sha1-Z6fQLHbJ2iT5nSCAj8re0ODgS+I=", - "dev": true - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz", - "integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=", - "dev": true - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npm.taobao.org/simple-swizzle/download/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dev": true, - "requires": { - "is-arrayish": "^0.3.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.3.2.tgz", - "integrity": "sha1-RXSirlb3qyBolvtDHq7tBm/fjwM=", - "dev": true - } - } - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz", - "integrity": "sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q=", - "dev": true - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - } - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz", - "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433950466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz", - "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz", - "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npm.taobao.org/sockjs/download/sockjs-0.3.21.tgz?cache=0&sync_timestamp=1596167687472&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsockjs%2Fdownload%2Fsockjs-0.3.21.tgz", - "integrity": "sha1-s0/7mOeWkwtgoM+hGQTWozmn1Bc=", - "dev": true, - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", - "websocket-driver": "^0.7.4" - } - }, - "sockjs-client": { - "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.5.0.tgz?cache=0&sync_timestamp=1596409997705&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsockjs-client%2Fdownload%2Fsockjs-client-1.5.0.tgz", - "integrity": "sha1-L4/11LZZ4NCS96ugt8OGvSqiCt0=", - "dev": true, - "requires": { - "debug": "^3.2.6", - "eventsource": "^1.0.7", - "faye-websocket": "^0.11.3", - "inherits": "^2.0.4", - "json3": "^3.3.3", - "url-parse": "^1.4.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.7.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.7.tgz", - "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" - }, - "dependencies": { - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - } - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz", - "integrity": "sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.3.tgz", - "integrity": "sha1-GQhmvs51U+H48mei7oLGBrVQmho=", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&sync_timestamp=1587719517036&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz", - "integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } - } - }, - "source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.1.tgz?cache=0&sync_timestamp=1612210508484&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-url%2Fdownload%2Fsource-map-url-0.4.1.tgz", - "integrity": "sha1-CvZmBadFpaL5HPG7+KevvCg97FY=", - "dev": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.1.tgz", - "integrity": "sha1-3s6BrJweZxPl99G28X1Gj6U9iak=", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz", - "integrity": "sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0=", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.7.tgz?cache=0&sync_timestamp=1606610954359&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-license-ids%2Fdownload%2Fspdx-license-ids-3.0.7.tgz", - "integrity": "sha1-6cGKQQ5e1+EkQqVJ+9ivp2cDjWU=", - "dev": true - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/spdy/download/spdy-4.0.2.tgz", - "integrity": "sha1-t09GYgOj7aRSwCSSuR+56EonZ3s=", - "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/spdy-transport/download/spdy-transport-3.0.0.tgz", - "integrity": "sha1-ANSGOmQArXXfkzYaFghgXl3NzzE=", - "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", - "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz", - "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz", - "integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", - "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1", - "minipass": "^3.1.1" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npm.taobao.org/stable/download/stable-0.1.8.tgz", - "integrity": "sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88=", - "dev": true - }, - "stackframe": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/stackframe/download/stackframe-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstackframe%2Fdownload%2Fstackframe-1.2.0.tgz", - "integrity": "sha1-UkKUktY8YuuYmATBFVLj0i53kwM=", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", - "dev": true - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz?cache=0&sync_timestamp=1609653972997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstatuses%2Fdownload%2Fstatuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz?cache=0&sync_timestamp=1587041581155&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-browserify%2Fdownload%2Fstream-browserify-2.0.2.tgz", - "integrity": "sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs=", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz", - "integrity": "sha1-6+J6DDibBPvMIzZClS4Qcxr6m64=", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz?cache=0&sync_timestamp=1588701115133&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-http%2Fdownload%2Fstream-http-2.8.3.tgz", - "integrity": "sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz", - "integrity": "sha1-1wiCgVWasneEJCebCHfaPDktWj0=", - "dev": true - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz?cache=0&sync_timestamp=1614522241573&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-2.1.1.tgz", - "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha1-51rpDClCxjUEaGwYsoe0oLGkX4A=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.4.tgz?cache=0&sync_timestamp=1614127357785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.4.tgz", - "integrity": "sha1-s2OZr0qymZtMnGSL16P7K7Jv7u0=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/strip-final-newline/download/strip-final-newline-2.0.0.tgz", - "integrity": "sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0=", - "dev": true - }, - "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/strip-indent/download/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-3.1.1.tgz", - "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", - "dev": true - }, - "stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/stylehacks/download/stylehacks-4.0.3.tgz", - "integrity": "sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU=", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&sync_timestamp=1601045461414&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", - "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", - "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "svg-tags": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/svg-tags/download/svg-tags-1.0.0.tgz", - "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", - "dev": true - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/svgo/download/svgo-1.3.2.tgz?cache=0&sync_timestamp=1615306626645&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsvgo%2Fdownload%2Fsvgo-1.3.2.tgz", - "integrity": "sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc=", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - } - }, - "table": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/table/-/table-6.0.9.tgz", - "integrity": "sha512-F3cLs9a3hL1Z7N4+EkSscsel3z55XT950AvB05bwayrNg5T1/gykXtigioTAjbltvbMSJvvhFCbnf6mX+ntnJQ==", - "dev": true, - "requires": { - "ajv": "^8.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "lodash.clonedeep": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" - }, - "dependencies": { - "ajv": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.0.3.tgz", - "integrity": "sha512-Df6NAivu9KpZw+q8ySijAgLvr1mUA5ihkRvCLCxpdYR21ann5yIuN+PpFxmweSj7i3yjJ0x5LN5KVs0RRzskAQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz?cache=0&sync_timestamp=1607089091087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftapable%2Fdownload%2Ftapable-1.1.3.tgz", - "integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I=", - "dev": true - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npm.taobao.org/terser/download/terser-4.8.0.tgz?cache=0&sync_timestamp=1616002211535&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser%2Fdownload%2Fterser-4.8.0.tgz", - "integrity": "sha1-YwVjQ9fHC7KfOvZlhlpG/gOg3xc=", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", - "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } - } - }, - "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "dependencies": { - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "thenify": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/thenify/download/thenify-3.3.1.tgz?cache=0&sync_timestamp=1592413493572&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthenify%2Fdownload%2Fthenify-3.3.1.tgz", - "integrity": "sha1-iTLmhqQGYDigFt2eLKRq3Zg4qV8=", - "dev": true, - "requires": { - "any-promise": "^1.0.0" - } - }, - "thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npm.taobao.org/thenify-all/download/thenify-all-1.6.0.tgz", - "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", - "dev": true, - "requires": { - "thenify": ">= 3.1.0 < 4" - } - }, - "thread-loader": { - "version": "2.1.3", - "resolved": "https://registry.npm.taobao.org/thread-loader/download/thread-loader-2.1.3.tgz?cache=0&sync_timestamp=1603809370428&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthread-loader%2Fdownload%2Fthread-loader-2.1.3.tgz", - "integrity": "sha1-y9LBOfwrLebp0o9iKGq3cMGsvdo=", - "dev": true, - "requires": { - "loader-runner": "^2.3.1", - "loader-utils": "^1.1.0", - "neo-async": "^2.6.0" - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz?cache=0&sync_timestamp=1593479140504&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthrough2%2Fdownload%2Fthrough2-2.0.5.tgz", - "integrity": "sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/thunky/download/thunky-1.1.0.tgz", - "integrity": "sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30=", - "dev": true - }, - "timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.12.tgz?cache=0&sync_timestamp=1603793837115&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftimers-browserify%2Fdownload%2Ftimers-browserify-2.0.12.tgz", - "integrity": "sha1-RKRcEfv0B/NPl7zNFXfGUjYbAO4=", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/timsort/download/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz", - "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz", - "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz", - "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=", - "dev": true - }, - "toposort": { - "version": "1.0.7", - "resolved": "https://registry.npm.taobao.org/toposort/download/toposort-1.0.7.tgz", - "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", - "dev": true - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz", - "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tryer": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/tryer/download/tryer-1.0.1.tgz", - "integrity": "sha1-8shUBoALmw90yfdGW4HqrSQSUvg=", - "dev": true - }, - "ts-pnp": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", - "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", - "dev": true - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npm.taobao.org/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1609887446200&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", - "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=", - "dev": true - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz?cache=0&sync_timestamp=1581364203962&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftweetnacl%2Fdownload%2Ftweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npm.taobao.org/type-fest/download/type-fest-0.11.0.tgz", - "integrity": "sha1-l6vwhyMQ/tiKXEZrJWgVdhReM/E=", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz", - "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "uglify-js": { - "version": "3.4.10", - "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.4.10.tgz?cache=0&sync_timestamp=1616363013926&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.4.10.tgz", - "integrity": "sha1-mtlWPY6zrN+404WX0q8dgV9qdV8=", - "dev": true, - "requires": { - "commander": "~2.19.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz", - "integrity": "sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } - } - }, - "unbox-primitive": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/unbox-primitive/download/unbox-primitive-1.0.0.tgz", - "integrity": "sha1-7qy8Sv+ijps9NrXq7MxQsyUbHT8=", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.0", - "has-symbols": "^1.0.0", - "which-boxed-primitive": "^1.0.1" - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha1-JhmADEyCWADv3YNDr33Zkzy+KBg=", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw=", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha1-DZH2AO7rMJaqlisdb8iIduZOpTE=", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-1.1.0.tgz?cache=0&sync_timestamp=1583946096584&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funicode-property-aliases-ecmascript%2Fdownload%2Funicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha1-3Vepn2IHvt/0Yoq++5TFDblByPQ=", - "dev": true - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz", - "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - } - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz", - "integrity": "sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.2.tgz", - "integrity": "sha1-uqvOkQg/xk6UWw861hPiZPfNTmw=", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz?cache=0&sync_timestamp=1603180003399&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-0.1.2.tgz", - "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/unquote/download/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz?cache=0&sync_timestamp=1604768835990&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupath%2Fdownload%2Fupath-1.2.0.tgz", - "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=", - "dev": true - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz?cache=0&sync_timestamp=1606859853284&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupper-case%2Fdownload%2Fupper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz?cache=0&sync_timestamp=1610237742114&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.1.tgz", - "integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-loader": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.3.0.tgz", - "integrity": "sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog==", - "dev": true, - "requires": { - "loader-utils": "^1.2.3", - "mime": "^2.4.4", - "schema-utils": "^2.5.0" - } - }, - "url-parse": { - "version": "1.5.1", - "resolved": "https://registry.npm.taobao.org/url-parse/download/url-parse-1.5.1.tgz", - "integrity": "sha1-1fqYkK+KXh8nSiyYN2UQ9kJfbjs=", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz", - "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=", - "dev": true - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz", - "integrity": "sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE=", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz?cache=0&sync_timestamp=1610159920398&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.0.tgz", - "integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1607460081656&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz", - "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", - "dev": true - }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz?cache=0&sync_timestamp=1614993892777&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv8-compile-cache%2Fdownload%2Fv8-compile-cache-2.3.0.tgz", - "integrity": "sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4=", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "vendors": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/vendors/download/vendors-1.0.4.tgz", - "integrity": "sha1-4rgApT56Kbk1BsPPQRANFsTErY4=", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz", - "integrity": "sha1-eGQcSIuObKkadfUR56OzKobl3aA=", - "dev": true - }, - "vue": { - "version": "2.6.12", - "resolved": "https://registry.npm.taobao.org/vue/download/vue-2.6.12.tgz?cache=0&sync_timestamp=1614614622087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue%2Fdownload%2Fvue-2.6.12.tgz", - "integrity": "sha1-9evU+mvShpQD4pqJau1JBEVskSM=" - }, - "vue-eslint-parser": { - "version": "7.6.0", - "resolved": "https://registry.npm.taobao.org/vue-eslint-parser/download/vue-eslint-parser-7.6.0.tgz", - "integrity": "sha1-AeoaKTL1gf8kQzZWXXEoAfj3JWE=", - "dev": true, - "requires": { - "debug": "^4.1.1", - "eslint-scope": "^5.0.0", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.2.1", - "esquery": "^1.4.0", - "lodash": "^4.17.15" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.1.1.tgz?cache=0&sync_timestamp=1599933670126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.1.tgz", - "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - } - } - }, - "vue-hot-reload-api": { - "version": "2.3.4", - "resolved": "https://registry.npm.taobao.org/vue-hot-reload-api/download/vue-hot-reload-api-2.3.4.tgz", - "integrity": "sha1-UylVzB6yCKPZkLOp+acFdGV+CPI=", - "dev": true - }, - "vue-loader": { - "version": "15.9.6", - "resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-15.9.6.tgz?cache=0&sync_timestamp=1608188078235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-loader%2Fdownload%2Fvue-loader-15.9.6.tgz", - "integrity": "sha1-9Lua4gw6g3CvPs8JuBJtOP/ba4s=", - "dev": true, - "requires": { - "@vue/component-compiler-utils": "^3.1.0", - "hash-sum": "^1.0.2", - "loader-utils": "^1.1.0", - "vue-hot-reload-api": "^2.3.0", - "vue-style-loader": "^4.1.0" - } - }, - "vue-loader-v16": { - "version": "npm:vue-loader@16.2.0", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.2.0.tgz", - "integrity": "sha512-TitGhqSQ61RJljMmhIGvfWzJ2zk9m1Qug049Ugml6QP3t0e95o0XJjk29roNEiPKJQBEi8Ord5hFuSuELzSp8Q==", - "dev": true, - "optional": true, - "requires": { - "chalk": "^4.1.0", - "hash-sum": "^2.0.0", - "loader-utils": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "optional": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "optional": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "optional": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "optional": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "optional": true - }, - "hash-sum": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", - "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", - "dev": true, - "optional": true - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "optional": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "optional": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "vue-router": { - "version": "3.5.1", - "resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.5.1.tgz?cache=0&sync_timestamp=1615477699509&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-3.5.1.tgz", - "integrity": "sha1-7fPPSQeVLR4Fg+B5I3Igxf9utsk=" - }, - "vue-style-loader": { - "version": "4.1.3", - "resolved": "https://registry.npm.taobao.org/vue-style-loader/download/vue-style-loader-4.1.3.tgz", - "integrity": "sha1-bVWGOlH6dXqyTonZNxRlByqnvDU=", - "dev": true, - "requires": { - "hash-sum": "^1.0.2", - "loader-utils": "^1.0.2" - } - }, - "vue-template-compiler": { - "version": "2.6.12", - "resolved": "https://registry.npm.taobao.org/vue-template-compiler/download/vue-template-compiler-2.6.12.tgz?cache=0&sync_timestamp=1597929252539&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-template-compiler%2Fdownload%2Fvue-template-compiler-2.6.12.tgz", - "integrity": "sha1-lH7XGWdEyKUoXr4SM/6WBDf8xX4=", - "dev": true, - "requires": { - "de-indent": "^1.0.2", - "he": "^1.1.0" - } - }, - "vue-template-es2015-compiler": { - "version": "1.9.1", - "resolved": "https://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.9.1.tgz", - "integrity": "sha1-HuO8mhbsv1EYvjNLsV+cRvgvWCU=", - "dev": true - }, - "watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npm.taobao.org/watchpack/download/watchpack-1.7.5.tgz?cache=0&sync_timestamp=1612715916777&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwatchpack%2Fdownload%2Fwatchpack-1.7.5.tgz", - "integrity": "sha1-EmfmxV4Lm1vkTCAjrtVDeiwmxFM=", - "dev": true, - "requires": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.1" - } - }, - "watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/watchpack-chokidar2/download/watchpack-chokidar2-2.0.1.tgz?cache=0&sync_timestamp=1604989063099&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwatchpack-chokidar2%2Fdownload%2Fwatchpack-chokidar2-2.0.1.tgz", - "integrity": "sha1-OFAAcu5uzmbzdpk2lQ6hdxvhyVc=", - "dev": true, - "optional": true, - "requires": { - "chokidar": "^2.1.8" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz", - "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", - "dev": true, - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1610299413755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz", - "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", - "dev": true, - "optional": true - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1610721450018&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz", - "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz?cache=0&sync_timestamp=1612536512306&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-1.2.13.tgz", - "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz", - "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - } - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz", - "integrity": "sha1-wdjRSTFtPqhShIiVy2oL/oh7h98=", - "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/wcwidth/download/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, - "requires": { - "defaults": "^1.0.3" - } - }, - "webpack": { - "version": "4.46.0", - "resolved": "https://registry.npm.taobao.org/webpack/download/webpack-4.46.0.tgz?cache=0&sync_timestamp=1616424426018&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack%2Fdownload%2Fwebpack-4.46.0.tgz", - "integrity": "sha1-v5tEBOogoHNgXgoBHRiNd8tq1UI=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-6.4.2.tgz", - "integrity": "sha1-NYZv1xBSjpLeEM8GAWSY5H454eY=", - "dev": true - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1601922224938&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz", - "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "webpack-bundle-analyzer": { - "version": "3.9.0", - "resolved": "https://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-3.9.0.tgz?cache=0&sync_timestamp=1611221513167&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-bundle-analyzer%2Fdownload%2Fwebpack-bundle-analyzer-3.9.0.tgz", - "integrity": "sha1-9vlNsQj7V05BWtMT3kGicH0z7zw=", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1", - "bfj": "^6.1.1", - "chalk": "^2.4.1", - "commander": "^2.18.0", - "ejs": "^2.6.1", - "express": "^4.16.3", - "filesize": "^3.6.1", - "gzip-size": "^5.0.0", - "lodash": "^4.17.19", - "mkdirp": "^0.5.1", - "opener": "^1.5.1", - "ws": "^6.0.0" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", - "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", - "dev": true - } - } - }, - "webpack-chain": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz", - "integrity": "sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==", - "dev": true, - "requires": { - "deepmerge": "^1.5.2", - "javascript-stringify": "^2.0.1" - } - }, - "webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-3.7.3.tgz?cache=0&sync_timestamp=1610718943859&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-middleware%2Fdownload%2Fwebpack-dev-middleware-3.7.3.tgz", - "integrity": "sha1-Bjk3KxQyYuK4SrldO5GnWXBhwsU=", - "dev": true, - "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - } - }, - "webpack-dev-server": { - "version": "3.11.2", - "resolved": "https://registry.npm.taobao.org/webpack-dev-server/download/webpack-dev-server-3.11.2.tgz?cache=0&sync_timestamp=1610549968570&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-server%2Fdownload%2Fwebpack-dev-server-3.11.2.tgz", - "integrity": "sha1-aV687Xakkp8NXef9c/r+GF/jNwg=", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz", - "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1610299413755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz", - "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603921779318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz", - "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", - "dev": true - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1610721450018&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz", - "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&sync_timestamp=1614682798745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz", - "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", - "dev": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1597169750265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz", - "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz?cache=0&sync_timestamp=1612536512306&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-1.2.13.tgz", - "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz?cache=0&sync_timestamp=1602445480546&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-proxy-middleware%2Fdownload%2Fhttp-proxy-middleware-0.19.1.tgz", - "integrity": "sha1-GDx9xKoUeRUDBkmMIQza+WCApDo=", - "dev": true, - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - } - }, - "is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-3.0.3.tgz?cache=0&sync_timestamp=1569735663940&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-absolute-url%2Fdownload%2Fis-absolute-url-3.0.3.tgz", - "integrity": "sha1-lsaiK2ojkpsR6gr7GDbDatSl1pg=", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flocate-path%2Fdownload%2Flocate-path-3.0.0.tgz", - "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz?cache=0&sync_timestamp=1597081369770&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-locate%2Fdownload%2Fp-locate-3.0.0.tgz", - "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz", - "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1601922224938&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz", - "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz?cache=0&sync_timestamp=1614522241573&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz", - "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", - "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz", - "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz?cache=0&sync_timestamp=1615762367048&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz", - "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1615404893185&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz", - "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/webpack-log/download/webpack-log-2.0.0.tgz", - "integrity": "sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8=", - "dev": true, - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - } - }, - "webpack-merge": { - "version": "4.2.2", - "resolved": "https://registry.npm.taobao.org/webpack-merge/download/webpack-merge-4.2.2.tgz", - "integrity": "sha1-onxS6ng9E5iv0gh/VH17nS9DY00=", - "dev": true, - "requires": { - "lodash": "^4.17.15" - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz?cache=0&sync_timestamp=1603965361668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-1.4.3.tgz", - "integrity": "sha1-7t2OwLko+/HL/plOItLYkPMwqTM=", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } - } - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.7.4.tgz", - "integrity": "sha1-ia1Slbv2S0gKvLox5JU6ynBvV2A=", - "dev": true, - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.4.tgz", - "integrity": "sha1-f4RzvIOd/YdgituV1+sHUhFXikI=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz", - "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/which-boxed-primitive/download/which-boxed-primitive-1.0.2.tgz?cache=0&sync_timestamp=1614855292663&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich-boxed-primitive%2Fdownload%2Fwhich-boxed-primitive-1.0.2.tgz", - "integrity": "sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY=", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz", - "integrity": "sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag=", - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npm.taobao.org/ws/download/ws-6.2.1.tgz", - "integrity": "sha1-RC/fCkftZPWbal2P8TD0dI7VJPs=", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz", - "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=", - "dev": true - }, - "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-4.0.1.tgz?cache=0&sync_timestamp=1609798602895&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-4.0.1.tgz", - "integrity": "sha1-jbK4PDHF11CZu4kLI/MJSJHiR9Q=", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz", - "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-16.2.0.tgz?cache=0&sync_timestamp=1615762367048&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-16.2.0.tgz", - "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611325806500&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-7.0.4.tgz?cache=0&sync_timestamp=1604880226973&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-7.0.4.tgz", - "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", - "dev": true - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-4.2.2.tgz?cache=0&sync_timestamp=1614522241573&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-4.2.2.tgz", - "integrity": "sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz", - "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-7.0.0.tgz?cache=0&sync_timestamp=1589250991473&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-7.0.0.tgz", - "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "5.0.5", - "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-5.0.5.tgz?cache=0&sync_timestamp=1609798602895&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-5.0.5.tgz", - "integrity": "sha1-h2nsCNA7HqLfJQCs71YXQ7u5qxg=", - "dev": true - } - } - }, - "yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-20.2.7.tgz?cache=0&sync_timestamp=1615404893185&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.7.tgz", - "integrity": "sha1-Yd+FwRPt+1p6TjbriqYO9CPLyQo=", - "dev": true - }, - "yorkie": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/yorkie/download/yorkie-2.0.0.tgz", - "integrity": "sha1-kkEZEtQ1IU4SxRwq4Qk+VLa7g9k=", - "dev": true, - "requires": { - "execa": "^0.8.0", - "is-ci": "^1.0.10", - "normalize-path": "^1.0.0", - "strip-indent": "^2.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "0.8.0", - "resolved": "https://registry.npm.taobao.org/execa/download/execa-0.8.0.tgz?cache=0&sync_timestamp=1606973416764&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-0.8.0.tgz", - "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz?cache=0&sync_timestamp=1597056461891&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427614275&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", - "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "normalize-path": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-1.0.0.tgz", - "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - } - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index dff4d44..0000000 --- a/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "mykeys", - "version": "0.1.0", - "private": true, - "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build", - "lint": "vue-cli-service lint" - }, - "dependencies": { - "@msgpack/msgpack": "^2.6.0", - "core-js": "^3.11.1", - "vue": "^2.6.12", - "vue-router": "^3.5.1" - }, - "devDependencies": { - "@vue/cli-plugin-babel": "~4.5.12", - "@vue/cli-plugin-eslint": "~4.5.12", - "@vue/cli-plugin-router": "~4.5.12", - "@vue/cli-service": "^4.5.12", - "babel-eslint": "^10.1.0", - "eslint": "^7.25.0", - "eslint-plugin-vue": "^7.9.0", - "vue-template-compiler": "^2.6.12" - }, - "eslintConfig": { - "root": true, - "env": { - "node": true - }, - "extends": [ - "plugin:vue/essential", - "eslint:recommended" - ], - "parserOptions": { - "parser": "babel-eslint" - }, - "rules": {} - }, - "browserslist": [ - "> 1%", - "last 2 versions", - "not dead" - ] -} diff --git a/public/404.html b/public/404.html deleted file mode 100644 index 791a23b..0000000 --- a/public/404.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - 404 Redirect - - - - - - - -              -              -              - - - - \ No newline at end of file diff --git a/public/css/normalize.css b/public/css/normalize.css deleted file mode 100644 index 81c6f31..0000000 --- a/public/css/normalize.css +++ /dev/null @@ -1,427 +0,0 @@ -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 8/9. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ -} - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a:active, -a:hover { - outline: 0; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/** - * Address styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -/* Embedded content - ========================================================================== */ - -/** - * Remove border when inside `a` element in IE 8/9/10. - */ - -img { - border: 0; -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * It's recommended that you don't attempt to style these elements. - * Firefox's implementation doesn't respect box-sizing, padding, or width. - * - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} \ No newline at end of file diff --git a/public/css/skeleton.css b/public/css/skeleton.css deleted file mode 100644 index 3ed08cf..0000000 --- a/public/css/skeleton.css +++ /dev/null @@ -1,410 +0,0 @@ -/* -* Skeleton V2.0.4 -* Copyright 2014, Dave Gamache -* www.getskeleton.com -* Free to use under the MIT license. -* http://www.opensource.org/licenses/mit-license.php -* 12/29/2014 -*/ - - -/* Table of contents -–––––––––––––––––––––––––––––––––––––––––––––––––– -- Grid -- Base Styles -- Typography -- Links -- Buttons -- Forms -- Lists -- Code -- Tables -- Spacing -- Utilities -- Clearing -- Media Queries -*/ - - -/* Grid -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -.container { - position: relative; - width: 100%; - max-width: 960px; - margin: 0 auto; - padding: 0 20px; - box-sizing: border-box; } -.column, -.columns { - width: 100%; - float: left; - box-sizing: border-box; } - -/* For devices larger than 400px */ -@media (min-width: 400px) { - .container { - width: 85%; - padding: 0; } -} - -/* For devices larger than 550px */ -@media (min-width: 550px) { - .container { - width: 80%; } - .column, - .columns { - margin-left: 4%; } - .column:first-child, - .columns:first-child { - margin-left: 0; } - - .one.column, - .one.columns { width: 4.66666666667%; } - .two.columns { width: 13.3333333333%; } - .three.columns { width: 22%; } - .four.columns { width: 30.6666666667%; } - .five.columns { width: 39.3333333333%; } - .six.columns { width: 48%; } - .seven.columns { width: 56.6666666667%; } - .eight.columns { width: 65.3333333333%; } - .nine.columns { width: 74.0%; } - .ten.columns { width: 82.6666666667%; } - .eleven.columns { width: 91.3333333333%; } - .twelve.columns { width: 100%; margin-left: 0; } - - .one-third.column { width: 30.6666666667%; } - .two-thirds.column { width: 65.3333333333%; } - - .one-half.column { width: 48%; } - - /* Offsets */ - .offset-by-one.column, - .offset-by-one.columns { margin-left: 8.66666666667%; } - .offset-by-two.column, - .offset-by-two.columns { margin-left: 17.3333333333%; } - .offset-by-three.column, - .offset-by-three.columns { margin-left: 26%; } - .offset-by-four.column, - .offset-by-four.columns { margin-left: 34.6666666667%; } - .offset-by-five.column, - .offset-by-five.columns { margin-left: 43.3333333333%; } - .offset-by-six.column, - .offset-by-six.columns { margin-left: 52%; } - .offset-by-seven.column, - .offset-by-seven.columns { margin-left: 60.6666666667%; } - .offset-by-eight.column, - .offset-by-eight.columns { margin-left: 69.3333333333%; } - .offset-by-nine.column, - .offset-by-nine.columns { margin-left: 78.0%; } - .offset-by-ten.column, - .offset-by-ten.columns { margin-left: 86.6666666667%; } - .offset-by-eleven.column, - .offset-by-eleven.columns { margin-left: 95.3333333333%; } - - .offset-by-one-third.column, - .offset-by-one-third.columns { margin-left: 34.6666666667%; } - .offset-by-two-thirds.column, - .offset-by-two-thirds.columns { margin-left: 69.3333333333%; } - - .offset-by-one-half.column, - .offset-by-one-half.columns { margin-left: 52%; } - -} - - -/* Base Styles -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -/* NOTE -html is set to 62.5% so that all the REM measurements throughout Skeleton -are based on 10px sizing. So basically 1.5rem = 15px :) */ -html { - font-size: 62.5%; } -body { - font-size: 1.5em; /* currently ems cause chrome bug misinterpreting rems on body element */ - line-height: 1.6; - font-weight: 400; - font-family: "Raleway", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; - color: #222; } - - -/* Typography -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -h1, h2, h3, h4, h5, h6 { - margin-top: 0; - margin-bottom: 2rem; - font-weight: 300; } -h1 { font-size: 4.0rem; line-height: 1.2; letter-spacing: -.1rem;} -h2 { font-size: 3.6rem; line-height: 1.25; letter-spacing: -.1rem; } -h3 { font-size: 3.0rem; line-height: 1.3; letter-spacing: -.1rem; } -h4 { font-size: 2.4rem; line-height: 1.35; letter-spacing: -.08rem; } -h5 { font-size: 1.8rem; line-height: 1.5; letter-spacing: -.05rem; } -h6 { font-size: 1.5rem; line-height: 1.6; letter-spacing: 0; } - -/* Larger than phablet */ -@media (min-width: 550px) { - h1 { font-size: 5.0rem; } - h2 { font-size: 4.2rem; } - h3 { font-size: 3.6rem; } - h4 { font-size: 3.0rem; } - h5 { font-size: 2.4rem; } - h6 { font-size: 1.5rem; } -} - -p { - margin-top: 0; } - - -/* Links -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -a { - color: #1EAEDB; } -a:hover { - color: #0FA0CE; } - - -/* Buttons -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -.button, -button, -input[type="submit"], -input[type="reset"], -input[type="button"] { - display: inline-block; - height: 38px; - padding: 0 30px; - color: #555; - text-align: center; - font-size: 11px; - font-weight: 600; - line-height: 38px; - letter-spacing: .1rem; - text-transform: uppercase; - text-decoration: none; - white-space: nowrap; - background-color: transparent; - border-radius: 4px; - border: 1px solid #bbb; - cursor: pointer; - box-sizing: border-box; } -.button:hover, -button:hover, -input[type="submit"]:hover, -input[type="reset"]:hover, -input[type="button"]:hover, -.button:focus, -button:focus, -input[type="submit"]:focus, -input[type="reset"]:focus, -input[type="button"]:focus { - color: #333; - border-color: #888; - outline: 0; } -.button.button-primary, -button.button-primary, -input[type="submit"].button-primary, -input[type="reset"].button-primary, -input[type="button"].button-primary { - color: #FFF; - background-color: #33C3F0; - border-color: #33C3F0; } -.button.button-primary:hover, -button.button-primary:hover, -input[type="submit"].button-primary:hover, -input[type="reset"].button-primary:hover, -input[type="button"].button-primary:hover, -.button.button-primary:focus, -button.button-primary:focus, -input[type="submit"].button-primary:focus, -input[type="reset"].button-primary:focus, -input[type="button"].button-primary:focus { - color: #FFF; - background-color: #1EAEDB; - border-color: #1EAEDB; } - - -/* Forms -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -input[type="email"], -input[type="number"], -input[type="search"], -input[type="text"], -input[type="tel"], -input[type="url"], -input[type="password"], -textarea, -select { - height: 38px; - padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */ - background-color: #fff; - border: 1px solid #D1D1D1; - border-radius: 4px; - box-shadow: none; - box-sizing: border-box; } -/* Removes awkward default styles on some inputs for iOS */ -input[type="email"], -input[type="number"], -input[type="search"], -input[type="text"], -input[type="tel"], -input[type="url"], -input[type="password"], -textarea { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; } -textarea { - min-height: 65px; - padding-top: 6px; - padding-bottom: 6px; } -input[type="email"]:focus, -input[type="number"]:focus, -input[type="search"]:focus, -input[type="text"]:focus, -input[type="tel"]:focus, -input[type="url"]:focus, -input[type="password"]:focus, -textarea:focus, -select:focus { - border: 1px solid #33C3F0; - outline: 0; } -label, -legend { - display: block; - margin-bottom: .5rem; - font-weight: 600; } -fieldset { - padding: 0; - border-width: 0; } -input[type="checkbox"], -input[type="radio"] { - display: inline; } -label > .label-body { - display: inline-block; - margin-left: .5rem; - font-weight: normal; } - - -/* Lists -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -ul { - list-style: circle inside; } -ol { - list-style: decimal inside; } -ol, ul { - padding-left: 0; - margin-top: 0; } -ul ul, -ul ol, -ol ol, -ol ul { - margin: 1.5rem 0 1.5rem 3rem; - font-size: 90%; } -li { - margin-bottom: 1rem; } - - -/* Code -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -code { - padding: .2rem .5rem; - margin: 0 .2rem; - font-size: 90%; - white-space: nowrap; - background: #F1F1F1; - border: 1px solid #E1E1E1; - border-radius: 4px; } -pre > code { - display: block; - padding: 1rem 1.5rem; - white-space: pre; } - - -/* Tables -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -th, -td { - padding: 12px 15px; - text-align: left; - border-bottom: 1px solid #E1E1E1; } -th:first-child, -td:first-child { - padding-left: 0; } -th:last-child, -td:last-child { - padding-right: 0; } - - -/* Spacing -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -pre, -blockquote, -dl, -figure, -table, -p, -ul, -ol, -form { - margin-bottom: 2.5rem; } - - -/* Utilities -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -.u-full-width { - width: 100%; - box-sizing: border-box; } -.u-max-full-width { - max-width: 100%; - box-sizing: border-box; } -.u-pull-right { - float: right; } -.u-pull-left { - float: left; } - - -/* Misc -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -hr { - margin-top: 3rem; - margin-bottom: 3.5rem; - border-width: 0; - border-top: 1px solid #E1E1E1; } - - -/* Clearing -–––––––––––––––––––––––––––––––––––––––––––––––––– */ - -/* Self Clearing Goodness */ -.container:after, -.row:after, -.u-cf { - content: ""; - display: table; - clear: both; } - - -/* Media Queries -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -/* -Note: The best way to structure the use of media queries is to create the queries -near the relevant code. For example, if you wanted to change the styles for buttons -on small devices, paste the mobile query code up in the buttons section and style it -there. -*/ - - -/* Larger than mobile */ -@media (min-width: 400px) {} - -/* Larger than phablet (also point when grid becomes active) */ -@media (min-width: 550px) {} - -/* Larger than tablet */ -@media (min-width: 750px) {} - -/* Larger than desktop */ -@media (min-width: 1000px) {} - -/* Larger than Desktop HD */ -@media (min-width: 1200px) {} diff --git a/public/images/icon.svg b/public/images/icon.svg deleted file mode 100644 index ad88f14..0000000 --- a/public/images/icon.svg +++ /dev/null @@ -1 +0,0 @@ -icon \ No newline at end of file diff --git a/public/images/logo-white.svg b/public/images/logo-white.svg deleted file mode 100644 index 71f2e65..0000000 --- a/public/images/logo-white.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/public/images/logo.ico b/public/images/logo.ico deleted file mode 100644 index 61af9c08e3360afa2380611804026836371f7d54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128196 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 diff --git a/public/images/logo.svg b/public/images/logo.svg deleted file mode 100644 index f7359d0..0000000 --- a/public/images/logo.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/public/images/media.png b/public/images/media.png deleted file mode 100644 index 6327b0b9b409fc9a1d77e0974a09560411d93787..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 724346 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
9T&l$=V^UY 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%0AgkTbPq?R6^<`^-x8pG0xu*k|B^5KoUV^C>eUa zzQ}W9n_W4DmBAQ*kXs5$elUG_Z0QNDx;NHl4(qnZd(|-Ak$7`9=_E@G8YtQ@Qj5Zm z;SYTMk8#(;Z1_adNXcPw-w^|2vLzXBfg7*;Q{hS?L_iNe-o+wLzSjjlsnhRPzmgJ3 zivlrG>k0;|zh2kT*A_p?pt{uj(zGgc@ zA3HsE@G!_`-Gp7L=BV$qsh3mg=l4AdKeZU@PwSjffVV-T7)Y@k^$u4nxf7wav!j%5 zS3;gz&d5`FVAS}c8yrY+N4;hJN6Q5~!aav3GLK-Mpa#o20iD_#;KcwH)Z zx}@9eUCv(!fOr-3XdVsvqN=KEqbG17l&DiTNx&?nEJwkTWnbPwG(>;5N-U{)P(dr} zW<%&~#f)oElPZa~ZiL5h8j%IdmO8W;guF;>f2T%i*2fKPD`zt30~Nf9{c}iC(+{;+ z{|Df&JvqFh26qqWf2Mrqyi#oem z9y>n2>hIz<5WAu1@-eysM(j;JVK`mAlh^iiBGHS!#WiHO{^ZAsGL zv~((3bnz<(mmL2eVBo~tpW1Y`XEd;((5{gTmwk%!Gc41e~Dj1^J)drFNZ^kYR8nr&qI2uZnv>SNjXfyPHn=cbkX)8G$ zyw7nWA^}emyG;eUeUhJ$w^e082X=R3vMIKl-2C^8eHE2bdz{G->US<|2M>C-=+X&Y zb{P=G6h(bw9u`5A?Ce#P!jzD>Zbksr(+c)sBtI^b;s`0mcANbq68lT@ugrt~LU+d0 z-0`Lc6XQhN5MQRN^2vvayKl7k(cEHZ8QrNZPvrg}wsUj{TJmH3007b7jeEy4L3`<6 zM7PR;B0T4k>zCkI<{$&LkuI(l&Sl#l-^rX%c$U)}%ctzWp5M z%|KOf!$%rDzNmHY#N;!3A0lYKLx2Xy@A$*`thm^Cr(6r%ME zagmVpg@ZVwA0D^Vqqq%vH=ia7sW@dCz6;|%OjCJ`ks*7G50K(|HZmqAv`7kwowZ`s z&Mo|)i}(Lrh&IDjH66xBnf?-Lyo?&%cJ=8Xho(YNrGLW zF19ce^|qKw{A7XHr*N+S{dRBr3sq+m2Z_Aacz9gIe7q^-hOp%&L488Hh9y9a>k)0N z&7lD4W}tZHsF`>qh$9SR&NgFDE67s7T#06vlWNM?x(1JrjIN$OnUR7*#?dPUEp%c} zK(8J34~XB~K=HOMXBIN83;xWh(2SnJDy7pFeV@JY>go|XKu(WQyp(ho<&31)1BS#Fu~b4NbL@gB-l@urjB6A~?ot~>636WL@FzH9kB;5G2PY5=GH(0lfA z%g`O3!fzBhEv|glVDZf~j*HX8uqXwK2Lnx9B!sRlbu*BQ($R8D$#pvAW&OUH*!)3U zYwZkO;BE{ceh8{8regj0rb`f)W8Z1;RH`lttfSdz$xg`+v-^=5S9tW zLSNPL%d!e_l|2hnl|=Tc#8>{*`g2R*@h{Eu)~o3*re03zqu{8ydY|`Oz;=UL;jqou z=K1ZwnmN93iFbV`w}rqPcNf4L%%z0->mBTWQ>;$Y5=pCma#*Azy;L5fl9V4G9>)hY z;)9OR_-r29Af}xN;j&^5GmXHLXIX7ruVAs~CRE4H+Xg2}LG&7y@ z)qWCjkgQxJqN?DZ)?1Mhot?B*?W#HEkta~M;5!Y`8;dFuB~y4jW`@3kzL~c7@$Ol$ zLT~BSWPag`tl8SPdYHPCm_EfjAXWj9Ke}RnJeeSc11R~zi?DUg?iSI5`L#hn5Pix*u%+2h1I;(-8bpryl0+bfg`VHGHGeV?FgTe@?yAM)qrZbmE$ zZVNNSZ;qtap@-W}gF*j&05h><0@$PIbSu3ckpWYa*6ljbcyd$`_P`tci=y;pj?*Uo za^}OC>Gl6IhJ_%8z1HpXU&gRmdA4kqvgb~_Adg)q?>B6}09 zo{GI*e~vTeUzed}&GzHl%-){vo``ULon5d79I1l9j5RY8QwzcfM&1UGMllnUFdU^! z!7%8+R_GMd%sH~Awv;gyw#;)*>!*-5%f=Uz8)sGGXx{iEqy1r^S$sW4?fb*z@K4aJ zl_RqR98+=Y50RPphcS10wE+JTrBUp5;#Kv%{qr_%!w*%GwGdQz2E1DR2QJ6B9pk>R zYqRRODQL|h%`mwFBg=Q$BqKYoq(Soum>QXV=&P)mk>tPgkVy?1rQ)ARVOz@Tz|hz2 z6`NWjSDb(h@X;uSwRgh)?r9xAB-Wg|{MA&XkGv|(GB__wh2B{u^nWN~58661fGe!* z87=YbLnxR1xMs}UVo$@_rv@|neZc9px9-`yP5x^XD++~4jbC4k#X=}`_O?vG_llk) z9#|NLN#cAmLfTqkEwOVj0FgCww(tEm))2m<=r7+-?`NYvMJ1eUkEy-91S7kUYzW`@ zh5}B0LJ{Et(seQk+D){sFWBIonncE%$ve2saWs$0M+?9ZJD`6+uboScu_a<}@_x}9 zkiI#vH>&~BVs?DdDK+O0Viqr=y4)5&mSJsM>NE^Pu8wOTO47Vb%`;u#!npE2B0O7q z*>lNjJVYxTRc(<6C`qDMV#`T5=(+BI6bVgWCh?tG2kN?zMl-XPdj*AxvP`8p{Tl^;V@1}JAH8i6e7m~An z38&z-gB<3}Mpg6i`XC3UK5Pwkn8aW*PH4;VDqlFJ*wb&wNOY7dR@e32Ha+ul&uET! zoI`QexXq9$W|ZUvhp8!A5m74CEHVQi8YkK(KaYnnfq>-!FCb!x=Itw`aR!gy>+Lcm zJ{6AYkf$~F6?8XE3fu*!Ew{~;ewedoyAcetU3vrlQyeOV)Tw?F*|33V`P%4 z6H+R4RnQV2gTzYTOt=B+I2F8=hYyL+2x_b{F@6n>bM1EFgo zcqU{jg@zeu+QaIrGwui)_lmuQTjipFnwOt)Q@8rmwBPszlsYqX40cP}PyDGA^Xk!_ z7@PHVQjV#@Kc)t}f+ueFb1;toWW_a}=PkNbs1tEBBRy(0B%#IwhlDVT4Z{P6yl31sMM8bSXrd==d3#f$s_zDvo8Ymj1# zP4{qBc^Otsg4U`VArpIhvC8pg8BWq`-ie%^Rv*fTMy7q++T<*^H&;@+Sev{Kocv}e zyd`23GxE!_=TXmW>@&+OcvOOH(*MR)gK6;?b;PAOb;{j&B)5Gsm@(i!*aboS@Sos5 zm9i@ArEV_v_;g&(z1ut0<#Sh_;N2LH`(mv@&i)P_Egw=H3O$Cq9wnH9g^DzWQ(`F{ z53>)Q1yp5I>XmIo@9}<}0!E@P7Q%ZBu!6$ets`Yk$)K+c#u_rMau~k>RQlNw{ti)F z%M3|kz7e-rNQ7+@UpUbZq_)g#xk^YltrUCB@ zy#fm2>VGb8KfVsvg9@AuWFLZ-CYpzl&^wwnWS3{gT_4YEgJr5~ca#%8tW>Fb_ z2YC9QUuDZ*x)vp2XhWEpiHO8B8gHC`Kuf-jjxJ1(NZN>oHB&_OjEC32xdq-fI>mRR zJw9gMp9^hA(u@n>_Kci#%)0|$ev)WB)1#Q^*F))3r<<%&dOn&gC$b7Y0&0gJLNf!h z&^{tCW}E+wuLe!EK0My<8}jaJk*n0+kjwe(kBQ^%d^4D>P?MerO9rrfU*p2-ML5dA zG3?PWh98Qd@ebv9ti4aWgOMvoLsl_~VqKY0MP^?}35}H=z`_FROX$}`yp>y1Oymyj zG?rZ9@gj>%ZUzm2w$=e$7IhwH`UMS0q9MQ8h}LoAB;A$BNfgV2a9;4Z+q?bJXJW?DS8s;5e~M$GSa3ZQVWf5mnS79wGqK6TMp!Pn?{L{bY9qpa4%ve0IqwI<;tV>X1E;C5Gw0@NmUD za|&CM`2~YiZ*^{)yV)yJGqIAl^RdIk+9tC*u4uM-{2te!N$pjHl-~C0G_!L2bCQ$8 zxic@o0xCP}*5nOh6b`7rD!#ecLB@N;ES%kr(|=pW-mTtZ8teI?qI&lo#-|Bml8GxJ zMgc(F*&e4`GQ_~xMIA*B53DX4;n-NtjAWnPFp`B|g^WY$zjV%Mnc`fOl;dD zaS1^V(G8?$z_?^5@9_895?~Gy5#G!YEu5hxXEvCy!h{O>Z>rY*jMqg141m3hWH6&o z?sMoGoRF?hj>E_6wk+%SwS|ippOBo$%oz2Jl0z(6Du7Ceq)zuDaBx1APsb zcpxZ}4{wyqYLd8ILlc+NC&OYaR!t>VVdbXz)UN87_-O7}VXy8@+l-$^QwI#ywpk6Y6=PaG{yij8mBeR$r;jrwk0WkZQ!YEOS`LFs08`OT z=t~KyP|+Um35vU4Tw)mQc-NJRnNu^Oelr_LC)X5<6$z+1X5WJ~o`W3Z^FI;LWjxJv zUeT{yH5?nY&z^7trim))(rum3T$8`y*T!bS!5}*e{F+62oRD90d+eBy)(;=HXvml8 zyrWPraMCaq53$VeH#4Sur+A**bj6Y8s+3%H?02uK29=N5Eu|M#=M+{xi^j~d<6Oa-p=dyAP^RIr8|cgV4O9|VnAqqj0v01!KJ@~)hSD;7>fY9^U$ zsWVOGGr7)AFcm?LS&&3G^Q>mZg6~E~VpAFx(h$ut3(K{Td7vM9v_+zLDXY#AAE_1r zd!SxL(_czXmw0OAt!o|1cSwZa#+-11LkIUFX z{JVnlWCfvyU5p1r=dk81s0BV}S<*&5{3E+ve~AO-1E%__b+bRNz(yK=%e04mFGCOrR9beZ*1F z?my8SCAxTw+0;MOyE7{O!=erpE@&-5dZj}YHW{(lRM ztf#S|BKiW19&wm>OZ+6l5Xh7h;Y{29uSMi@gM`jGHO!#a5_0p63FJZ`1&_r4A`GDu z3^%5{c1mcKzadFIlxaCQ*r`!y%{HI9XfTk*$n%*B=inXRDs_dC$nED>;Ekls$`Mr0 zK463qe_J|&JmGC*ppmo*RruT^1NT%aUQbgd*_s^qaXtqkIZBZ*; z`YQOWW0xa_HQz(Xy;;p1HIC3?^{X-?;qZ!Snn_Ewe}ImNBN5qq%Bp8X*D0ZfvFP|y zERrjSN7$EG)IMg@msphi(NMc|NY1=R;K0WC6=tGW$jKnwE@a16Kl&j%2EW4-y*CBL z|KC6(z+K_;m5YxYWUid5O)MPP92IoGJc$7)pOtZ`mmaF5rL9bdazoNxK;a2%v{}ot zG=GSTY`bb8MG&d&@01{XzNC7AZ|$fe2WH5*1A6G)?vHldF&En0<+nV)2;L)rBu#sY zXToPf>-eqoPYBW0iwI7L*|M(F!w)>ZY?LOyneRX4^ApJvko1~Rbv0mdlrZ9s+rhIU?N4^rQIgOyLJQE^pk*2{NqS`H$#R%g zHLPMYDQn-B01ASYy`>s5$4AEXjN~4oBp=$H3DgItk_I@Rz1y~~&AZ5nNRGHu2uT=h zrmkRd=bTj`hmDK}Gt37e>U>VZzW_(Vs8p=K5uY3)+UsvfJ!ERw_BtK3%1D(c#0iH} z!=D7Pn-b0Lf4pt&@Zlr7R^fBpahG%ODVrD%zxoh01paK#_hQT&MMLv2EbV$nL5<^` z+1K+0v)mO1E62AuQ}kU7^BVGe9p9gHYrQleF`#IaoVSmRBa?NiV`Drr*jjGJn11s> zCjB47QZovF5j8M}j0?+hRx)G7hHlq)QvyT3of0^k8g#=TO4gf`|0?RqnLx}nN{>-T z2!>4k&q^_u4P)1X&jI44S(j?wI}>|GqDggJPo@FeP9F|`Yf^*$O4etDUhI=A`04W? zJ4FMrU;{6pc5uoxNxZQE{-LnV&gd6OmZp)QAQ{{2m>S-4ri%ZeR)WqrM9(-& zix~LHf-PrZu_)|TVV(O${NLfzzqJ#dt|eKC?Q?1ZU{dkM;5fY#J{%01LQm*6oj@g$9SCY0ykDNYB6a;EW1x%@y%UKe1I&e=faROpjRCC_fTm+ zGP(PsYlM2yeII!RiWmJt#s|fh10B*oQKU{7XNUXc>y7(W%U{zaRV%a%z>r}t_T72l zRs~AL%l82jC4N98DTIAXBzY(ZiKM%ZiHL^}bzAcK!)!Jh93Tn1m=W~Sdv8!r+ZkY= zudUd_Z#5A;6gmzt4N-}RwEpC1kVj5P#Bv~+e-T6QZfH>>W$Gkovleafs&V-H0QHdYH8`;`YRlQuf3#xjWTVlBKuol)CTvmw5;9NJx z50Ml-TXOmO0bB}&A#?CkHNGRu>h>kNv+BmY%_@;y)YD_qdA@q!NA+;Xw0~%sYd2)Mp(8c05 z+ba?jEyj4&Cr|M>(W?az`pV+=GiojbMw0$82Jf(&ywnHlwz#4*FsQ=$@H4?D%Q}b; zdeIXpv3jbxo~uNGYF3fnRV6wgsX=Z)ekqGcWdwiTz8@m)Y(0eC4u2+=Hfu}#xTKR- zj$b{T@V|)BUR)*e7Q~x&y38F#@<19ovIHprB^Nx?;j#gf^h4eAj(Kb}Bg5kI=bAZD z4uQ>41~csJyavsi`5&^~l;A?obmKtpb)ya=BlX-zZ7|*hSba_&^+|?~u$#dn#tJ!q z_^cy~Qf?@n2sa)`5*^fZQ4OJsw5JA3xbS#tf0c15pA&9fWyb%+KJ`rCXYLcd0S9MF zdbPhe8i2>0hZmf39R{L3nUdTXsp!~Ju$nA~nGvmRA@&#Q7s6zG+7*TAnT-k(=+tKZ6Q|0K90ju>IGnNhyfwUc3M~3A<|hCU!yAk7N(Okdet3*~6>( zrI<|3Kt9}3BRBDBWcN@sZ3d2B4Y6i?I{qDU#{@c#ff`T-UWjdw&zUox)YQHUtNjK; zePr;Wc8{6}S-0=Ef(OnPXExwJvjgM!^MS>U&+nVB#pnWxC@C|<#?O1bX@-hnye;=V zg7#Ec*%5m9Q>Z!`-xI2&tL1Q-c)En2XfpGkn6e|`Xm&Gmy1u2D$mjK)>xY8HeqhyU zj67*@&m)GoLTJKHeKp3+Fb?B#p2k=y7!}_s6goV=p0O>HL!eP}qdk?*_8Aye@3CFy znxd=l?<3W_NM2*m#XV_|U0{O345p<_Gl49e2_i6~ERhesA0WaoJT-`R#l7L-hwf#h zrY5TJ>cN|(hl|$V+jJT{^>R0heEu^!5pA@87ZNfVLKR`rYsk=0%g z!?YvTW1TU!tHKUm=+!g3DcLn@Y=A_`{b*)&$q!m@_ZP^ER!Se=|Iy4ByaH=W?{`?@ zM>Smuivh%&)u7aOno@zT?-^>N5CUh06v*9|`a>QHxq8>*$d}UL14PG`DLd+t8txS+ z2sWag!|r4FqfWamDZZKUH2TVSPrt-Wr_R1mbJo94>d-uWYJuqCbK_MDvK&$Lf|`vl zdV|CJYlh*)Uo%pGG~OlEN1tHK(On@fyg(%rVAfT6kY_HC|b@QYn|6D~>9 zxFIAiYG%R?hOUa(VyvA+HkhUJU}&R){-K>a0bYek%yR# zSMP2!==S6xe z&U&?%{*UR))mujdnU_gS)EtfgEs&yh0OXb`K>mfm;4rH8>!Ri$uli2 zWNjLhACt!j;M{=ZuvaL_T=n;Xk1i5_&-CD=XllOS zHE4PuFCwW<)j`R;{*mpIX2o!x8)lqTQ5AhR_f4i;Mq67WTGYdb;s=!3x ze)bYE&YPCAwBT{{oi1RW8TgJYRZ8d2qoYBDiHW5njk^(UsT2Q}ZTfe33D>-98uUFUYLaC^hfJMBO)ZAt zoeRGWyIZ6MqKkSsY}^V<1c3Rkf=dP#3uhQfmw-lS2o!xHdu!5q#leM%M(f!SpfS34 zI!TOdk}Iiyk3*Mg7S{0@vyfa9FUutk(v?%jhl?VMVeOl0G&RU4R)2r z*oWO(!Tb{)aUSrFYW&HVSX(@yo(7U}&!Qo0q9o(!Ug5zrPWt)aqi50ECOCqh96yE# zaS(jVS$TAYzVzo}#b*hNJlejLI4Z6p@#vi!z_gexK9!vXn<%E2Lr4*J5ms#N^%|2B z*NtRNJDnC*QLV9HaS~+#Lf6=B!pke{p;z&Vdv~Lx6_&wYx^vl%z1_J4{Cu-3tc6~c z1wr?}<;07eWy&#kk8MI2!z_TX*A+cL;WQ#fbqPBa#~qzJqU3f#JK7w8PHvBd&?za2 zjua4u8RK|h)3PQQLNqLFBc(eA`V4O}E+7Dv-zWt@E}vKYX!tG;KK8ENBTFm`hAX0e z7D^*%Ra&p4?zG{0x#FgZ+3stjk1Pn_N;CfXX(3hMcGmYIy*Y&|k&v`uP|Dg1~PgMXGpD zn53dhG%wa8ZGU$QP5U2`PYjOXaAbw$lr0Lz7D|e5T_W5L z3im5AE)nQGocmyS5gX`S;%>AA{(h!=R{%uK|8r<^kf41X(wo&jVSmO~S{!zm&RMc)O+rPbF{cHp_wk$Zhk9$zDnsx>>glb5GS6P4o)jENV2 z$aJ^KpCHye<|+bUkK(d{J-u4kmpUp#R&u=^JNqhhfOHR)^1}ZnIMrQL>QrZ-^}OIO zV}#>1RiMBm!wqbri}t|hzGfDp-~qeFtutfh`UyZiqoK1{Rz&G`h7Tc4iQF3J&5S`( zb%d!3_H4KY1g5xl+Il3k^968*&@660F!}9so2PayujcC&4>pL3^Y~Eve#PtL2gydM zFLl*aHe>V1n(m9!s^xMpb=4fbAnsJN8MCsHHnFq|I=r{(4eeIPcUs=2CuoT9=n}ka zboOZXVDAy6NLI_KCT8qGq{(-Zz0=NHewZznkUBjl%ltJq;oS{;*taEb_bvCDk6O1S zz3pvZCeEplskrNS=U~~8o8A2%_KO7ll8?_Eu_ErZ-DimKXyw`A25hI%US?t3kUT76 zmQ8*(^bXJ{f*Sg;O3>Mm6XD(^=(ykNQE@SdnyUQ-6|dTJDg+&Umu!6~W6KMvs^`Ij;dcXZp71^>yYXTFPV)L23Ev&RpmM?T2$qKJg*KN0u6+A2V2qul4aL6It zR-Cf*C{~hzXT6;w3(#aivh~r-tdr#h5r;-j{kS(yP|l6_VE+u3n}7~Gi1#6*zX#gkKGG6+fJaS}EKJ11GjA#qCl_yEp9n(9V0FcXngiG|FWFNi^Z*igx0Nw$IJ>( zRF3Vh(Be1bd*B3l6OIRdw*S2*87VCFMa&9Y+7};T!7#{Q3 zNBo4;eZbdQ%0)6=VH-z81Xn5u62jB!=Rb&C@ji07hEBY^W~OKM8ly-`gvBPxYIb3= zCXyx7jU^>Kz^Fq&g+y2nWDLVu%i-n=I!=K3E78?ZM@Upd;o zP-cYF%)*M{g97EzgkC?w=0Zfp`dwMJtGyFrkC8ZtUEyM?yrw17ddLcmts}63E#quj zkpy?a*_I(Jv7DM6IhIdW+Fq`@l%SlVAf_0aRWd5??8ZpWhDC2WiX+?~)$TTmd(qud zx-optFK76naw}cSJKugd{-X4Ck?YGkrz3)mcu49?Hykt2mR#-q*03hgjX&ElVMH{Z zUXhP_o?oYJpz1rVKeFc3Oi{^R>OcHZlTY_(f2l^(CC`WC^oe|6eK!`5M6!f$dU!qpUS7W#`T=F@u}( z2LmqXZrjN@DbT6ein(U>5zU?MCI!{8{g2&kw7cYO@d-awp1bS%UEd9c&QJFgJie^h zpmo>q;t_7bN*kvj!Osa-EA?y=S5eI|nyatm|Fkdntbewh+ud5JnTq~dwuSV(vhU|U zxD|bDigC-;dmhvAptJ8kIJ?nCdr<9&gpJ{)9nJ@b*cn=sxNNW;czw{eT>k^Vwcg4; zS$qgJ?`^c4<2B}2!5%&AV143Zg6ho zg3){v%T=ZWXXB{o=Z_E1GQ2oi@reGuB^B$|PgziadoWus=Ac2;5rK(>&4s&-vqouk zSntZrP%UERTwSv^mD3?G^JrJUR%5a0+?-$D7Vlx*^h|O1=h3y#MY9h+a+ua6cLK~s zw)MVzSIddgSJ<(}2`Q_*vu4fKQ?`>mWIM0>TF&t+OP4ub!o#;-DUCOko2z+!tcs1X zhPYqRoE1?Hx0i}d6g7b-<>Rwy8+76&1CC=^uA)&X*KX?w{W16HXK+R5`RjMv=ui$!`Skf<(*BmA1ZuKJH z)x>#~hPmy_&i&7C@gKC~0oiJEI}NIautw*`%puj|l??0rg*JxQ^EJ%kH72dLUf(r% zccyLOaPH45%jaIZJKoo9bNbTmNZv@T)i_7OcgE$?mw9WIukC#}j$0Z1$F6H*@RKT5 zmh~Cc7Ko#pkTx>!L8xE|YgVp;towWKV9tx6yoGN+9=13vm=IfZvb-$zU__x`!nM)4 z3PqJQ@!D(R4`E?vT6BVmWvy@4pgH9{Q-7of`7^khSLTo7n=aO#zEmRiN#3Ez6-x0V z^CXu}=Za>#P*ggh+3Y5^xoDa>_x!CfOD(jL_eHKXwAQ)Gv8q~Y?Yv{{Jk4hA4c5I7 zExWM!2!`4BA2#`jX3tU%oH`>z|0+(9#xBz`1IawU=WVhULuyw0ow|h5M&_77S=Dr- z%XxOMNLpMIZ*u*REj^_(v1u>lZ}TfxdA}VRv05+o_oH*gHeXe;nN~*OBQRm5)s&rf z%1v@L1J*(L_b{}*)wQF2%)?jD+y)mG=Puc*TJvuFOgpPXwj)Ar?lyg+H=5q?(O`<< zu9o`SQPcLr3&Nu}Q7GE;Mz3i2XPE`NR!!=8^vtF7o{@=f^54eodmes@@3#&O3M|V9n`zmp=Z{#=7a>U!8|oqhTJwmE^6(&RhTCx%_J@dh{zX8$IH{@zliZjoxpuu^huA*PcQE#>>Wq ztN56P%$49;GWo8;)}^Dld6(oy9G#1-8|-K}*(R=feGrlrQV9-7>S8D2%UF<FmlDpYoBA=@#Hp!J;Wu{?VQ~m zxgBB3wBW_`-V}_4C-2?Co=lgpI$nF0-&?F0+-JCc$}bavX!K9I036VDCZH0WHO>%^ zQ>-g?m~8Mugi60tzzXYXYq@U?n{9?0L@iWK$#60$YI$syoOf#0>#E%91clHtAMPxb z5hMK-VW8}nuyVut&RBWe#-hH9%3a=C-#OG01^hI$-O8|ex%RZC2%VHY^vp&pD#f&Q zdh-sOu5>VO$@CRCe+-UKi@s)J>1S(b`BbA^Ibh)+{9o5(O~h~!`1!+QKIp5@M23FD z*ERM=YDIcV2>++iA1~y!fo+E8)?a<(_^Cc`tK8~#{-;-4u8rZGxfY$gDW#|x8{5dR{34p z6qG7jZoT5hi%$K5wdi}CFqLg=Sfr=i6ya_XJ2XZ%;-1G`qh^WAyR%A8;7ZvyJDJE% z&X_gjlT)c6N+*S^^@aw{qA(rXM#-CnC!yvum_(_^{+mcE3Ggwt&rb- zc@;V(1$0tki}aNAF1GM~*`qo;aG{K9%5K-V(q1iq z!sr-p(RqRQJld^>BH={(J#sKlsN1-ptXX}8O)|gn(5=XO+XFwyN;u}E4_9oG^Us>K zzvX(XsXw;1?@IuB+fd^>{J`ORVqt0qhj{P20er9RkxyS`vPpdNqisljPsO=?PVyTF z+ZnyHl>*G*oJqLnvEz8)T=Uq33HOx3Pqf}~!1EjaYN#jPF%Aa)nP7DlZF!Yg#ibPE zcc-+h^A`{FzE$yhQ^eb$3``j{7l(D%^&NAhDR*ATO33D(vzxiaHD~`^c7f%tx%)3B z%pZrpZ>lJ(JB*VruC(27vVDHGVx6NHzE8{bye6Mc1Do|P5JD;!6%AL+=DM3?dbV6Y z6*I4nHk-NfGjZM?gtB(i2XSKO?`m@6-*x5B?Out5>|c_{zq8!ra{bRAHVkDEa1D4D zxiLb${a(REmASUNv^BjKY#lj?yU(g2b0T_#qkwyN95awKS0BN#(s5rSZGYRkV!ytU z{u{ln_tHRl#EfYEAa- z2)j$y^^>V#Q|D3x0w^1GIMzchp)5I{z|%Bc7B(S%6RuT_Z`kZ1tVy|%MSA6*Zd&GP z?xb1+pk%lr|E!!*5iYyDYLTg|dITWR)Lezi{9|t$ex{dXXuE4JFeLMm%s1<3O0_j` z4RDjKWztFaBt7h73z_s-hroTs1q*wF1-ziaNkB{u7E3{Aq~!!?Y~(YxA}(6Vl_*DzLJ zF5VQ9m8oog7#;3dZ(ejdeJrAlw?$dA^Hcu(%Q>R;`l_)-a%+q?KGl-H63}^J1ef>3 zRCbphVMzvT4?Li_bX;jyyu9MWAbLvj`toNII*kqXn;v*OTwI;`7)n85KHN^_z}Xd8 z?l}$z=5dqn?v%Tbp4RxT6HQ_5V=`=J9~%T3Io!?)&wJbTO6IdS;{OfC!5Ou+!$!-| zAl2qKc~v75)10Nu?WdpiJ5K}4Ek)-c7U^&F*WdTZ)rUJ;d6=)e$+(cBqs=e=p|Xm> z*G4tsesA=K(Zx17On)RWG{QiUxl3v~2|ipzipoWaCWDt*zI03bS3ys_EwZ`wJ_zy5)y9pR92fU4=;A2WNU7%^1MbCe*XM^> z>2So>C#*e~$=52A;Lcts!y0h@anl6cZJT_r&Kz9NeUFYXUkKR1b^D>t3n*oZ#;o30 ztC~LgN(qmmK7~3%`>Ww$@+!!V{BjmkB52mP1x2jxXcMjXyerlfFdh2Gh!HuXRhuGk zFMSXkiW0U_tQoCT(?>yc#-l9$!N%#(rE-TC9bGwY*l6zl+b!!(4IF~A&>M;;%(joc z$MccoSFD1`G7FoI)q^<7YM(N&NeK>SkBSrPYdMFTpc;G-?Ff)vcaK2 zs8$gn%2(UqS1~CJvNKAo}8^Hg0_B~hv&2zXZEj?tS( zl$W`Ww_qxp=$@CCH18qyl3r`8_qjGIAYtY3)>};C_&AECMQ`Vlve?7}7u*o*K?%J< z#lW00`Jm_wYyO#pKW2RDFB@DvlxsAa+Y#3Cc@rnLk$FYgqRIO6>AEhU!cU%?VAkjo zjDdl`ky_4A&pRv6f0LzdBAXC!Iw2&(WLbwWRkZG@xsP`yOwHL#7x8s3P%^pTX7u~Q zyyHvf3jP?kx+{L;9Pw?LDJfT z25+(e1uC26__H_c%G7>-RXQAXTL|!Z;Ks*KOiY`t1MhJ!D_)S7b8qwkO@-qbNVf$y z>>mO{_GP%};T@J$^;@=dC<~ZIW~Wo#|DQtcl19^0mV}7a28L?{ZEnptMChf@$?QXt zz6Z0LEMx|37<6oza=}35m*Sp8AaLYWnyzV!`HRcC2bsLlo0Y3r*Cqx-rpt;)q&}Mq zlhJT-KVdFk>c^7L?Xpy0aL%e@2A6Gl9|Au-l<5i(^}TIkwO&R`M_z!k9uOyVl1iCY zroYsJ;A~7V3X>Ldp~nHeS*}_3*!ci&x#H%qNt%8S#ctpuJsg)tAqolm?H;R*KE=<_Fw;NSHMBt z&Z*{m41hWE{y~|-M&Is4%$OHLj&t@Io>@}wb34go#G_F~!!Il!L8mh%qbq*GxdKj* zCC-67t8nUwErb!4N|q@5BHuOnypRWwx#xkXYIn!bGrN0OY~vw+s38t9#9rd~n)?&^ zX9p9hk&lOngc2^-W||mb(O^Cy_DTJG0O1biLI_Y(5!y+NwOKWXT_l?A$2A%^%!#eM zbmX!MgQ%+-RyvxL87JIZyR7KG2xkgTy(EkBppX3Z>_dKBCMePup(O3!g^;$B3ux*% zZ$Oa?1zC9&B>W&EFr_F06TXphGzfYtTdE_Q{rD@+eKV?5QEzJSxrH_uH4oPq%92-d zxGRkxAvc2Zj_=Pat)jNnO0ZYunp~&iLTt0Uw?(GD9#JhX3G*EW!{W@IZMc-YXB_`5%cy2;e21y5L|fp4CZ9ehe;vvaLzqMT>jY4QfYykw z4fKhG3oNMSd_7!)IHRkTS+a(z_;p6-wA*y?-;r=GW<21{tF>*!dnt0>zw=tOxRKSa zx!u#~rKlGrfIk)YOWwp8H*A1^R+^d%|M!;Yf(eA4#tkc?)IMyn|J&4A{Mn5Nti#%t zsVa|uh+mPZ4_=7yJjLE@{WrFS?(XTk&%^_{DlS#lu0pIv7P50wd^eu~HPJ1*-HX(% zXJqAvJ@POJd*tAEDwLPkg0~l|Xu+0#23FZd23=^-WMCeYw%_!bk3EApI&;qs=K6YP zFDxyQgC^NPdCew@tc_3kCKdYl1YF~t+{4TXoGuuvGMA}yCIO|(1_^46Yy0C5gYyAH7p&G(4xJ_m#1{sLVF@@G zG=HOV_@Qg`J`=kK+)NeK;u_(IywRhl$DeH##2T}Vs@Wd`+~2yN4(E2-He~uz?Nk#H zY#bz!>XPYlCc(rYURG~%fVz1C2Pl}62**E1gKq%tz1>crxf0TNCuiKT`Hk;&21x)& zbBa|Fux>vl$B&ooiVqDGZ{2!Ec3B0XxomoI^c(@=Gx-NwGJ!t3BNHgj+fVtOH`3%b zj#Eb%?pWnO1~Fyo4>AIC6JHmt(a8@_JvqX_PDjN>)zvDo`$^L5lP`zva(bheh@uJr z%{65Q{ON%j6O{XT;eH+Y;BFEG@WRP>ViF`D^u(k)Mj<^my~)=zbRRyIDT$V5>boB^ zIKxTLP(^`dVB0nq|6yb8&G7j~uXhh+xV9yPh6t2sOfmOSZpFUP4>c}L2@Xuc}aL{~&h4ky;VfFnuXRbasU*&jhjfLen zK@gspWKU69(5XEOB%o|UL)maHZ=^N{a#t>DkxB%2bfnN4$Q?a`+o~_Csf!<0qHRXi00~Q-R=BnxrW>CR`D-t&}r!{cIK<8 zkMP9}@%8maki8SX=GFcec}*_&Jdo^}WVjr`B^waNbJLWX9+oBlpzSG2^*v6)a5MW+W50@x|F7?luVv& zO-KI^@PI>1=@7)k8brCy?Y_o@DhAkC%lu|D#haJ|oF@jb{2j_&b3*l$MuWvc*5t`s zM~;R-KdYQR2X!g+7H8Wut_q_p8Qrps*EPAs^m-EtBEhpITm?#vw@X}zwi~)D;c-*6 zke8I55_m(|ThZa>FHI5Qc!wy*iJ(~{h`oJi&*v;ES&9B)V7n06#I$%@glMgiXuXx* zli*geUkn&AQV811)Fc6*ke|js9L?=h`VUI=nVFGtM$Me^my-)BHthkIpW}k-`~MZW zkT~69d;O4^-Lv_>bM{R+qAzcylbIEuNGJwROlbuw*IW;$aUtp^x(Umt5so6zf?Ibl zuW7<`6_?NYcwO(5K~zdIKx{O#XnH~3M&Rx!cx>q01tG(Z7X;nhVzYS5uMj0 z=ZlJkql{v5&@qEYd67ryZHedoM+C#SgkJX5Bkl&X<=jW9rYHb>*bbpzm>{qI)>i%h zVeY-7qCWHX;b*f+jIkgVP-ziVRGLQVEl~+73Ia+m0xBIG5$VGdjZ%gp8bGNL1VlPW zZ%P#qMx^&JLmwD~VQ9n5{66;=h)LG$X5Vt&_n$pEC$52+yIh~E-7oe9C6UmDee^a^ zG*#7G2?(|g4C3{6notVRSgjgDu-QY9!hX@O?ZPl}vC4t7y(RBZral_P3>+^#%_{#K zBlHU6N!U@BR<}M}VloRbdL^T(c%7+HZn#86=H%Z)4FyI5Vqh5!fESqR=kZrX@S7EsJfnpIzka&&$d5u{`Nbg%>X*8;fl;ri2EunOOPz6wFax4;mg=d zsKLWIQmisp2^M1bnSP^n-*hYCo&p^r@CQ;?qlxH`sdcGBR-z+Eh4zxpyg0%2`Z}6- zPU}E)7S_jq%`S{I|DIj=uaDhbI01d^YdM$sCrTF(KSt@ESAcnA>|Wb4*Cb5+r$Dg* zHQ@T$s(ZjU9^(%>*T;!a?C_@~jiO znlOmng`WnY!~KuZ9;&)W0;kCS*;o_3^N(RR{wqQk7n_47i6wpDTHt6I*eLf9`#NnD zC7OzU;4OTVr3z>wEdTf9!Zz+rdDdwoZeRB9o?XGZ`q-be{79HrDH#0CL)ZPW1Yh?y zRW0yJUfbO zdjP)JB-Q`?q=h$(@<8u9sls6hbe_Q@`p{0CCZJf3a>R2}>fDII>wKQhn9DP0*&tW# zwS$QQVX27N%OOJAhUI2gjjud=l~|}3bu^|X_}n!dB8>q!9Gl6ENv*y}GQR?b9q{$6 z65_k|aIevMFd-va_QbrQMif9A3)s}F0~!3~|BleDThhnHrof2m{CQwCZ;g9;yI-I3 zcUlRVUrE8a4V&{bVEzR|elMfJu3o2Fd_IdDzyOZOT#kAESAK|@I*UlUtH*+M6pl}O zG{cR7ma9|Eukg14;DS5%G|V5csaC~`k1CpG4e}F#clR%OMF}h5!FJbGd3Z zjlXFP*c5=@4s@LP6_~W@Ap^e?L8$E;Fm5$LQRn@=B>Io;h zHovz~RQ!MH*yRmqwLh((O?Z{vy7LTd4vl;KDt6Af^cnZS8rboU-uxadyAxcwc$ zc)iBjdmi~0gOg?uk|VFF1K4B?n~VfgKkT2O>h?#uyUzir0iLzmOC3H3(DUG`;)nSb zL2H1W|4~1?_EjVDT-Nz0-8Chs!myO8rPOW!{ImobN2N2m$+-l|1Yr& z!8>d-*AWjB*;Q?s_d}e24EZc_#2i=Qij*k$)P@lIZcZ{&)F(Wxs(vL1QUZqC{NL>r z`Bq#|#i$jrklH?omqJ943@Cv$BqhsLK^^g_7}=Dar(yIQ;qdCtbk`Dd>Y?mji(*iR za*&H;n3M9=UV>}@J)lKv3vU1A_EVW#J~F$jUlpQQ&)-Ax_>Fa8@lfUxA07d=lgc80 zBoAp;)yHXN+{kbTr_KpW*ih)tA!vcIu1H?u{sXhS=9amO$nzwFGUA2XSC42^qZ@ji zXgd98s0%X9kTP8FhyufQJ{;()$~f{!tP>0#KOVaYqbs_t8uwsC-s#d#wAW^bfOdhY z4pc}H^4_digl_)jjX1o|HVMGCn(WD5@TR_1TSZWXvbKXK~9rSTAs4>QDy zuga*{ZU(CQxVWHl$~zg4 zZm&k;0FTgMP?+#m> z1|M8xMOL99ZOfL!mxn4PFn*(*a}}8B+8G^nxrD^CicV`qL_Vy}5bk>WYXB#+;h!;n>Ab?SnWO+WweO^2Obz$$I`4pW{Sgg2)f?erM0X-6a;y6a zIahw0hprldD`dUh&t@9*&$;V zv=ct1U5AkpP*u4~>xX7por0}^(I>+^g>NsrHCw9y6trprf62Yh9TOhb~n3b0)k^?j6gGDv^UD?uC1T++O}Rm9|E#+l;^w zX|aS1C|@>!PXlw6+{3HB=MR-LNqs%Cx?d-7C7o^CI+nKx{n76ry&0C%+PA$rEWv3E zo(h=%c0QHVf#vifG=&j7TIMpqj+u#ZXO7#RlJS4zeH&Elxu;q<+{B!7j(~A_^4PQ| zvCgNZy-xw4EQZ)HM&v)7;-{QmfVc%`Dtx4sUJf6Awus)%I;Q@)A!a7n8%%h$(dpS4 zOg)_tjXiU8mri#L>y=7wfC>)`1y5g%z(9&bro)d|F`*qhJ<{6Aq`Q#=+{pN@Cu*Rt zA=_8HG!j=H{C;zI&Nl*!Ci@kSv;hO#_flp%?rA1cL)7hcbNmQ>un=Pg-#_>TW>~)0 z*$Vt4K^P8t3%Wo-QkX7aCe(;}?5c-+X(>QV)_JeM zzgT0oC&n@nD9z5JEue3Wj#`?TJ|>sMvBOH|4UC%%oBO(qCN#a_O`K9U;lRM^CI`Z^T!AAq6)qKoyV$&@iG&iM@f`ao9D6*(gkme0C*F z%QE+J`w`C}TE7GLM551w+SsHkr?-$+1LhPL{;3b(8^AQaqF;Z7A4DZ3Ak|Z!(crHD zD{kV>ezHL%+3OPDKhxCX^$+jN)(GcvXID#=CWZHv}OrPq*u;9AF*^s z8&q4QW7oA_r`bWiZoT1X2@rx|re1>;7!rdE9jc;K6*@aPFdM|DuZ%GnV!Sc<8!p#; zQF8`KCfm5>V_t2{QSCj74!-qs1QUb*<<=-Y5v20`hs}AwHLa-w^~$CZ(v^M1`nO$V z681Eu%x}v0aask)BOuJ0qk#7Z0*6%Px-YvIUO3DX!G2`)<*eJ?z}gP$Z4>s#THQ+* z3u>#MqsPL5L_@wkVC)26PlAKhTJgLB@(^*^8|{bu7F?F?r+#c)*M+l{hcb)smG70+ zOj2Rf0y$DEBoULorwNGg|GPKAdCFI6(p58;jF6BF$nI$>L~OLc5qo!|Z+ONyLd5C&w4=Vh0dR4r=fmZ_%Y5T3%jA^SZ`upE@gb z^q9*fY}{hXJ06P0pe=1ga!2X>q0A_9l|J11++%FKwI+iEGpYd4UUv#09I`b~-MKVNT!fO+`)}zlYv_1R@JnExX z_X$^Lu2}Ht_@xvt7} zb{qaUbvIHrNbLaJP_-shXGz*g86y3g zUEp4KX|6dk?db0T z+y)fFK5^K8W%AV_$!STdn9zt!%F{nRNxyNS)}A}0^0c5P$={id=FgHIr?QN9lqZV?R3enb<2ZDx9#i zTECy&USh6hoK5Vismi3)+-=p=Y(Vt3Qf~u{6=My7ltE6~0g9XchIMuohzdmhZ9l(y zH=r>VHi`{%M-w_I(eH%>qo_9oT25GVKPOHr zZ{x)p1~-CKypkjgSYrKd02hD8w-C|*9G@z*_Pc)ce}EMkK7qAqtX|1v5}LQQaoCE0 zQK!@Fz~7!24oy?PC5Ps|y8Sq&XIY(Y`wd(SHpbdgm3{g1p^EH#U*PBv)NyVJ`NO!{a2!E+^N+;&&719T<&?%!yS71E(fk#6A zBSdHI;GooXKltvB>>str=ea2iS}t3BDHJ}rem)0SWtH{0q{~~7o{KE$!!Z(}4);B- zk}D=jOAWrZc9ESQ3VKP&21H9127e8v18TXF4%)xqu)z?b!080*V zy4~quTr5^BcD{UyS2_SjQDl1rp)KSJ_)T8FY ziM?-Wv^H^mS^w}BT&zB`=!Qx$oX5qU&w8DDJcy-*??Ovb35Ma8!FCElO*jv zL>~jljO@ohZ9%!6zja-#=qJ}EvW5z$dFV7TPo0G*k4HVlg)??ply9)_8n$azYV|5k z!3GIB0xBt1n)L;*#;zYg`=<7zlM-dsP*xe8I=KC_=7Aqcq1r1R3MZ0Yta@odC_;W! zulCETiD9nIhfhN`;h{anT0y+`?5<4#FgPOftk;538hI`FoLJjmPZnvTzlt6Ob0y4& zekfx{`6_I9=BNuV(yOq{4>AtH`c&u3UwXfBny@T!_t^^=;*cTmcsQK%pP@PEBtVh? zu%&db^1*r!ka&+_)+G(a_WZn;i3RPg%l}j~LD`^5+|0O$%TBMpl*mC(L2=QBryw?A z;~boc*fB>pN7~I1=-&x`z6smj)q}dCpZ2JbWlTyUKm!z32Z4V(E~^qnsE`f^*bfcH zpKGJRv*03RYR(QRmuA9qV;bu8?cCmZ%Mv*Qg|oL8C@a*^d?J2nh&$Z8t-UtAq|)n) z1Ho#1BD1kzB$_zTainjv%Rsm8d_v%53N2wFb>Lf%h2_SrqrVUx6%;+LQ|@)$qe<*6 zFWaMHrJt5fH7K{gO{u3?=BJjFy_sHWZKvfV<;TSKmCpp8N|yjp06dA9D1enDR%d1lhskQFch!L%-5mC2AjI+9-Ht{$D1X`QV#4W!SIJbSHV$)k7C#nWO<{we>jwP zcoHYWqS@YN@LSgEr&)2-9{WBHh zvj*~`O2Qym{PEJ0H9)e678d0J9EfwuMxL}5lo6?{vOs?o7;a=%{ghxtfN(ZWP@;+0 zEkf^XrD&KIPkTF#=M)Y8udSW&{K9f;cZa|6l(*ahQ^mw`;`~TWONKM&e2WDSH=$JL z@L{)^l0DScdgto&VN&~WmkDKYyvXan_Miwo!IFH?% zg{OpcxI7S~&6gIr4Ld(7y1xV(Ow0P~1*b9w-`eL8 z%jSOU8Z}vRqWJQSKi||2G&9_?vY|6jfOn_8Qm$h4O9TbFwP}~`s+!ny9U+@FfBWc+ z`K?n?8vA>`22C8B32Qbw?f;bJ$1ebaY+&j{y8+C*$eex6I7;u0R90i~h0Ak~A_sWz zObhz!M(M)RSbfHF(||4BCsvVdp4Cx?yXJEDO3J_>hdt}NtPb~E^tkFtH)N zr^qpv3a%@@s)*@cDaSjE4ruik9cF?y7pjcUy-wyeO6W?>BFn!vYC|reP zBg{yhDimM|alnRxSG(%~)WR%Z3&h~OFEIMZL<(Fsa2*=$_dnnM_Fv4M`$iZY86}CW z36m-3k1h5tO`l(0W{m$bFkYB;vm?9HON9B)YJe>l5>%2~6}_{B zjH(=NG}x5c_Ie+aui-mzn;;Y6+~6DC6!iYCW$ey$$AStKA)`9mNG-xh!4f-cn;TA9 z6vBQju0{m{cF)A0XJ$+3L9^qCO*z*OQ@xl~R8kYP7etlfY>K!4U^F=|ik#PH^1uiL z=bs;;eL|%b5dr9<%NdtX7)p8X>s)-LT9saiiXQ1P2Dx?}Q zN_XAve+W7_RL6~8-!C{M#$W-=DZep0GsQlzAwOn!sDe2C{r1|%`J+-^fNWJvX}?}C zz*B_?#)Iz7C5NdaEyF5a2hx5cjKvK=UPZ7fLp>g`F_D#Qs9K;ZjHZ(Hu$+iK>M^Y zZYc4NHDDNI4UqUKNq71~+;KSTl(g$I)2^CDd#FIY@tz?(bQf6qP?&$BRHXO&@+8FN0@@Nb`Q%ZSjU!9(ihqs+lYg(uv z?~_P>ZC>^aW`oi^4dWX~sx8&Cz{cC>(FDr*ZAk$N+)B=Tre9~FoupGmy+O41vSfH0 zMoK6aS2-P8zuJ%;$5aZvj*PqM|Qt=c{YSgrWrTa*fekMpl~K{@LPIVgHiP} z4}9TD(W}M0zhGJy4HmYZikkL)10GuxY#WC_tL5-6TEh2WS6}*X!Ax)sV1b1^uZRwJ zSt;kYjHDA)Uf1cA#+vFleF?1)vPy50Gj6ubTiJuU!7}M0uII;|-^4cJ~<nU`C+ui@# z8bk8yDN5@Xz*i#6FtEzzB}Zd)y<7@~w3EtrO86lk2?`iNlLed%Qog4l?FKUwB$FZ1 zX>O0y{Nh-RxQ_gyiq#ks!+FnEqosXB8JC%?L3l79E0Z{aCg9! zcHt>#d=Nmn5)Ve^=bMhCLVh@eW3R{QDI<%Ip8YH|&S35l@JzWLa8%CRmrkDp(?8(R zM@IvPqmQ=iO7}xfj8(I53Y}Pg;oK)?@OK4Y8GWPe;-`K4s^Je7N+}*qrFD&6y{>t0 zzi{~_t2R+wVjv%_oL~ndnGXZ*Ru@XK(R?AwbMb$@$1Uu$$tvc}*W|Oo@4wa5oGoab=~(FNGA*C8Xj{}CXXOm+X4a$V8f1hqjkhYwE_Y=VwLIzC;W?4pOMYwm6#tDWqXi)7`cE}lN*++ zDgZLN!J#@-&CHB*Ay_SSwq{Ka0IyY~&(6eI53pJD8zX8<$koCfWjZScTg_F9&Pi3# zQ#Fj;G@4VC3*cxUTY7&XDI>Dfg9#$TDYd=DYQ1LeaCiu2t7o6HZQDu0g$y7nY)4L(Cm-* zt`Pwm>V6CBdcm2)xS7c%Zi4Z+Ml^%fB{1!@*_P-wBivrLx8_J%=k)?5>XJaeXT!57 z43IDS_O&_4F^jtRdWu^E9d{c3;63xcFUQ-Zk-332ls(OuPLGad4y(Cn+zj-wu4nW{ zQyfL-4LIyPomz=R?~LN6^F7-ZUUh|MjI;i^x0PyA?#1v{GpW@!B%*a~`(NP{tJG2~ zL<@A|f5|_97y8IBgJw+nIl6zOHZe@;<}EuT&l@e?Mibn3gVe-A*b2q;=&ryDb=OU( zz+*}B%ca`+hsBk~a=(~;D3HX+lT)nRU=LQTv76}(kujQ0i39ht#Zpi*-ud(VEy3{g|YZ zwEP872yAQYtPA)e2lmx^${HA?;@IsLBM0sN&}$r7MjUybH%{e+ZtU#cQeA_J6)0 zpsrNVvU#+Pji3FotF}GQ-=vSv(m`xijw4#pGr#!##5L}&99s=hW)5K>8M|}3lx{SR z{vcV&m*{r4H`tig6|KAw%a_mS%ZB~JKXC_0bDf_tOVV207!1?udm^>_Qh!G8I-D$P`{);z~%7Fa|wz^LtD`_o1Z)NTs{CS#ueAKklAwVSAv|FK6!Zv`v z+cmp$SD$AUXO_0N>N&uPFUgPJ8Gb#rEkA2MxX1gPb-7EQ)EmBb-UY{uC5m|m?!g-Z z#dq&j_|`C@HR3o$?qp4oVZZya)mZy8#UsuodUqRP_&}n+tC_-vfGNl=@8M26vwxz% zs_AG9Fx}VTkjO!jT$LYmML?PYb>OWAxuF&Sxga6wb&jIZ!785f7f@L6YD+h^_GQe$ zBxllqKLTyIn+ryUp9ONm;I8Q37NH(pmhO7I*DHl75V}0*G#ojYem&GpV&npjJI_Rq zBpe)O|DAR^^~uQ&nnCFqRKdxBc6zk!2Ia<7#V#DEv z+rmXV0KAT){P+1a7~iPfUKAPJ>TYyVenEcaW>)W~xE)67-CO4V+=}NvkE{{w%8RKX zS43aRdZh zhi<`u5##+NTy1*YsxX!eRRi$|0<``W(bq6$e=YEv^bqqb*QrcM@Q;DPx8a*94cxSA%oeW8RXx$KI&j1CAJjYmO9+V^GOxNlsPE1uG z;7IS-oc~VQ&ge+Ra&qIe#H?I{)eA>*JP-HR#-?vwXOcyx4==mJ)m<<~X*|-WdXBm^ z-xN4@)l%++AdTqh?HyVyTA5dnSm2wpu#P91;i$T>I59&@NXjcyWb_0M^N>&oa&0fJ zNubP3*Gx^^;;sg)Yvsgw-m#hN-$zl=`c(~>65h(}hzlnjKrsm{UAUIE`IA+2-Lw>9 z3ruG2z;pR%cX=s#@dPe8C5=~6&Lo)I#+P5dhUal3Wm&)F$exuDhc3ElRt_NA@I02&`rhu*ydOoG_fHh6&)8+S}O=Rytz&J9Z{jRV$A656$CoWc_@XBY|GR zN`*SteTrRD%gyRy?IbEoZ?ROCBn4{{flzn5`NPJx2nhtN1UuM_lxw$bB4zstTB=Fn z8Fw>2JW2a@i#q}CrrFr;+5~lBFtft+PSDw-Z!K{1jO*;CzYD8u>$1GAp5m>`t3aMg zt{OzR4{j8PP+|9PKla5{)iCJ+W;aUeuA$ z4zU?+AJf6WpQG zS0y)$ZQg79wo@r?Ul2;U_>Batu3>PUA-gVwbk8fK3R@aoypr?DT7>3-!TgMY-8Fls zm#C97Cj-4y1;eX%_XRvm?9WtDKs_c^*0j0yV- zC^3Fsk()La@UXM-n2=?=Ew9j2cE@^+*WR|WK!nVyoeXNa+UNCM+x7H$QsHoL%2m$O zh9e(SZxEsUdxOrnPtC921r$pMLey@ zA8InM<@R!>M~uX_Mc)fj^SVNgd}KPEZ7|^3Gua;65j=a*_Pw5LPre_)089V2ej#bu z?)+1LbAAck9Q;YUmif-YgTby@Uq;4a31q@dg)6TGV>@)IRHUrxZclL`bI)4?z@r3$ zA)G=XSK5(N3iUg#hQGi77-ZPeGzb>;z1g}hmD}at9iB*Aq6K%b3g1xhW4#O0YCI{G zys+B5ZjtZMCT7Qt}hAga8|QJ4>L1ysm4Kb85W~zZITR=?nshtTYlpWCXC-DS1;VWdgOIt)|tFC;nAO- zV3nD>C6HVHFcO*}eXSBXl7Gcgfr4&akS77GL#kuqhVYmZP=*5C0`I<>!6=oXr8PR^Ycnl>p<=(H8P`-{dB{H z_&|L0fIcJJQ_P83KVlfXvgg1Nyz@|2>W1-5vQ}+Xb;}pQ7ozP2qL-JuEKQeRjrEbj zK-I>qqBt9-_}kCoAsYKAErrc!L0ar zu8WD~REmRR&GmwNcxrDs>?E;XRR@E^Ij5ptwA1D%8GjP>yF6yHJNROQ?6ZAA zSBuvyayza=LC(LbSWYi6JA`1zdYe?YhqI&dmC?d$bG_|@jW-lW8NrT5q7{qpMo68l zw`&P%qo$L;bSar6{cs}uT7*Ow9Et^HK2l##ZgaU_4%epjjECZ-E44+1{rRjK-~=u< zEEFbvJ-sbomzF3~Y{BbPyWUCk-++r$3r2A68976(@8uidA?I{9SZ0%2EEa zf>ds+rSm(@)P}K^lnnym=fF^*W8k>WCB|?pE09pv(|y8gq~1f=V`_dh5BVxC++69a zd0p!p)XZp_9N3l=WC`1k>1WFtIn%yd@y6{4V^S)Yd`({|o?#_HgTlz*$EvmvLWR1S zd3^}qpoS-WRgFT_A($6w=`~x}4k`6OYdTW#xYv?y3BJ1;5T-8{li2 zcpk592-dw@MQ?G*w|xq-Y!n?OB+V6a=qE!ux>C05>cTHVp1uH zNg4KK_Q|o9I8=9o8g~q-45Nxirm*xlC|}*h67k^oz9_GYl_eR!b4S_7RWS*cpU#h2 z%r;f_n?-KpepSp84DB83G-3hh`>3tLhLy8Df1Gdh6N*xnOo%C?bVofd*>qE2^^gs?VEv$Ro>Xxe`+z zw?x)pM~ga)p%}*7z{4;DodqzUWay_{A&~bE-P^M;xvdtJ$(-ga641HdCpf=QodqdP z;7wPVxF{U>p|epv7y1vZC)BqquEg<27IhwQ2-sRAH(byv;b7FgP;SX1!LR)5Le#ki zBjaSUmH=P#vyMkpL&mw86lP&#rHda=d@^+@2}Wt3n$l_i$*kl9H8}{!XA&J84p5UB zlFwAE%M5!*qiU0>yVixH#ol)P9?L;}i);3oFm^V!;l%>F3&B|qA%-}U-Zf|8ZOO=j z&MChZyy()KOI(8}fPfOD+csXuV(w-nU?hLewIU0C;qaPY|K$v_Gb2mdsx?fLM%You zkJkh>FrqV2rv?zm$qN=S7TO$Ijc{BD^i0bxeVA8wcyywAN>(m6H;b9LYcJ{C#B&Xs zGBu;aq5l5Kz(+k{d;S_htm}xk!bMH21dlTRFYzH?2TchFu|j4f-%A8} z;Uq1wfMBRAfO}zuyEPHO_$s3DI?=B5;*kBKuajm_xI2KGpV9iE!$B z(d=`|-NtJzrzJ9Nd(FVIDrEBj+?#8blvK)BdngWWlrbzItsX==+hnlqSh$;QrsSh*$Oah-k^B$@Xw&U-(Gdx~mkPZ_&3 z(#*8#S|~lO-Ps<02$7ld@1ktHhLpjQ^1D8`trmsB=MQwAKnl@N)KMsYhN#oup*5yI zPdlS1MPEJ;(Y4k7zWkKqeVzuJ?`>E#MDnh13CJZ0I2*tzmu2HzvKXJ6@s?#p7uk?a z?Ml*AZ?jA>Fz4oljJg9e9F(g|gYGm_kM9cUizIv^>2wE8CDr~$r-JTUd zC6;VWJ^f8~Rrd~p0Nh_>i8$G$jzMn* zwoIgV#i}(vJ$_6EfHI70(cfo9&n40 z22HUPGvpHgWQ3vjAH`(`7hQp#3K&z+@E^ckbG&(Pss~&df*}|6H=}0HwT96@b!4r3 zD%U_n{e(t4OU1pkGU!6|Y_uzN#ic^;z@-WKmCiQ@zrE-DpuZ6R;wxHn;3lE;jK=e3 zqZl&PxlYlNCSsE3CmZ5qp@JMcZIPJRp5?Wt103gEgKHN3 zY$##y14v;Yp6^3v8o}5(_@(H|9~Hke_KF=Y@IeJ_yLxy?N*+3?xdHZwoqes z_aYyh&U-&aP&9h$oW)8Keos)egX(iZI;y|?F!gBK#x1z{g4R@fB|xakPP5a)9r?A1 z?XDckW%F$b-g$5`PfLrxWxbi4mkOi5@r|AdYb)+>RQe!Hql(|1FPnzL?wfL9fiBOK z1_UEENR=I4Qu~2Xa@fIQO6@)U{8QLQj1EUrQa<#wB14LOgIBEDf5TOfvb@Ic%YcpT zsVwHp@kMdC^^#lY008Gv+fO}nCR3lp5Kt9|PKLXY#V{o-FLZktP3UoQOHja}!`FBu zSH3raCLvCD+QXB|-{qRPXj?{ka9<|a$~HxauC&mcD}1n&T3HsH5Ugf@ZPL?*vUHG# z-0wXy-{r`A^QR+jIKJkW&^o1wk`wR}7m`*{2Pn1klMWNBRNpMGxsYUw(?GEhckslqA$Yy=U`jVPF~@|dy*fn>=o$d^|rI|yI-JY z*dSTy)^;jqQBhdn2wsfA7hSJVB#=8t?JH!}q_7ODMm^?3@0W3n28l`4GzMQ(Og-$7 z`UZ|=Fag*75fiXF)z{4=A2Vwv_r5{V91DF^%=}dbSi!+36L&~BY~ovew&Caoe5U!auK zy`T9^fuz)T&HH=gLu!&Dvu>jNEq=P5qd3DBZ#N+k3R z2d`^#{|s(t=XG`eRhAcYN1xq)iR)1&A`t&dD~Zs){97Il8g`WWoTwM51LFi9q61q3 zHd`vw%I;2+9IQkR^B`pf>dsv7c zM6%89j9j9C(;O-~*Lo*_w;W=Q2tc%E)#h3!Yj*v|ESObL!<9A;%ggT6v1(3SQjx65 zF+m-8&{_zxH$3`M<3jL#=x#UB6E5>L{eI|huufkJfbNN3tf4Mk+m}98bMLI)RDL4A z=RIxSXwZ8c53?c|$;{~g4YFj>;9MB$(3|gUmG5Yn38T!VrtvT_n)N@xG@L;q;;a2h{le>!0T>b1Ev;=0S zWfquWnFEwtrOt-zMxBIEy|@$%NFDk-Qd7T>BAtYmq}@8a^$EmOyzy*?So1dBQ%{03 zTuWXB*{V*hNO`mISD6Q&*&KkC!g_u zSkm+wVn29x6nJ|yniBD}P>aikm)c7@h4@*y$k&e5}?qP5g86j ztExkG9!^^K0%#i!^g9GZvi%-dh8G;G@A>Lmlh&Q6rRT#Y4yhx+XBGWYVN*)wLiR}K zcGto(p+I>5`rR7&4`_O|SXeGEB^|65hfabSrE33q3l;UpLVxOw`wRRKH{)X}n7ddi zB^?v`yn#1zq8X$po3XwkgS1g)yq0V`+(h7?yZ0?}#(+c6za>ddPExRcTCcoqDzLGq zr-Z0jN-tU23oc;RJ8ubRBb%s+rf@+Xa?p0StQsgGQhaL$!bZ0xCpQ4K0PbA9wN~W_ zZ7~$gL{?8m>LFC4D-(Lf7_9c+T!KE?`!%EysCfk2U)GvJj^co{*vsHO`+Xb`g!p)^ z4P6Tw_P+9CovrZDj!0>`s;mIMu$z8dSRf?hS~=gZT+^n0WGxAMzW&X%=sODuwDd3Q z*HleX#|a$HJ=N>c?l@y?dXFq=euk{C;aGaKE?4vtsh~B-mMzoW!cg#@h`+>cTxNTY zm0LoKHZqLl4X1B9sIYXe=ofls(9u;yh5@{4;9ad*Pw9E+)sD5|x&ZF`muFtr?AX9= zc^tk!Sqnm|(B_7+!hf)gu=T%iXo;k6`~ho5U$cmCLJj)eks?dl1?s|}wymjC$#hlq zZob?5Z9>Rex*SU4l9Y5pjK6MtEEGVby}`E$Zk+f)~sy zWM~8r@;JNQ&jfhLfTWpttwJ~t;IdkyhK2$*L6aNmKvZEd2G z3rjv8&yo>8s#J!{I_fub@=+}P^~NA|W{b#l51rl86yGHlCqwzgLR*bD+<>IlG2H54 zv;wY+vo3@l5fn0Tg^FTZhNyyVYU&mpFpU+$YaPka3_d(Aw&%D0L3dKCyJQ&Rb3#iz zVr5ohgWbFtLcy72##{((O{B3G7Nm*z-hHA;Fb)=5rX zQ-OV7Q!i%L zGzQcpdTxZ)rNOR0#oSMneNh}cJc9yFe`-73wWL2~|9~f6BP~c?Jaj|oN`!RPlo$IP zZ}>9YJ6>!CuD8xnzqXooZEt-lmuk`vLw8~aT)V$7G=SesYsh))d)yoEbCVT1=F&2k zYoE67EY$AJjB4@a81~hnpHqg#v!N?m{>PW1S)in zDSaDy`sB4^8+lgCiGF~D#cFKr%uxy$2dtG)DoFM+yc>bq+GE$f{1AF z?~07IJ!u--RwI%()gSA_n?+Dofc0deZc~tB3|?B}H3Mf-x#8D=GEF4Pz9YVvfriiA zx6=tyRehN^r{>v5iYvV|OYXO~8lFJz#Nm#`#ctgN=CrJU{}J{^4WM&8exMfVc>Fk1 zZd6FQfr3AZa=vu9`~7cHjXHusC$d<&FB7{QC2;|F3uXc3)KuDmU}zPEo@A3jAym%| zo$~AKFO)SQ*$34Wm9xk@;1vPMmtRu)_c^2@RtmM_@9+5&KVX&m$^%dPU8u6&;EIs= z2`G#)tA1+a&r0nVKT*Z3tVz&J4cq1H3@rW6E6UmUmZpILYZkQ)?h}*Yt3I{gs~Y#M zjI|OBuLWy(LCi#rojS`3m6M_$h5o(QpOJsrE?*@k0=6}abpdmz|H+uPq@hr_WA*2 zB#K=>;;^@76jn&rleggfvq85pVdm@NJ)PO0PQ75dm@kX0{0g^u`G^m(boiaOqy3LF zL3BfxoRhS97A+QXJmI@tV%(MW-?|n4l?=$L`MQ*N0O}0m+Xc3FrGRti02^-e7GVM0Qd<8FgC0Hy zWn60AH^jD3B{_OxC}rzPzSi^ra-!Az<_WjF&kaBs(&{)SngTaX! zH~OnCNAbp4W3vF)57~go;q+|D>vewp6G!<)?w9=SoL{a#wSXQoIaw~$sQj{D>UZy1 z%v5CV^~%IygFk8{0WWKxAUsRD_O{LH*njy~sZ#w|=(k2y`)fHA)Jz!#S_Z^U+;hr# zR5Hf(9A%#A+w7TAEDEi`SI=a#uFzwnn(khn9cyLwFTi1SXny(l%-E&b*sjUfThjKW z|HO~2Xm>Q+EBGcx!x1MjJ zYdf&f=YD4>7K+h*=Dwu}Yp{%GI{H0s*^EaAs8P2|J4scy`T9rdnn*Lic_~nFvZ0g* z90>o+G1N6N9cCJa(Rm_Mc9_<&R_kiu?CtMX+C&6W>FzELDVuaCVYC^=Lt)t{#+5@K zDb`n`lz#xt{+ce+LOi73yp_F2;hh8|H~uM1650P3^M9ejTeGb#moB*09%gIqCAD5J zC^he>{{BD>LBdW!doE%`HL3sBa*>yQ!`LB>abwcRG9jGW?;sPYQ&!+Lu*{RsGl;)N zOB3>hw}uByJSxVc8X+CmI2A4CW;D@iF}gg`lgC2_gKgj0i20oCEgmL{g>?HR$uM9j zKVI{YkHIR-EL_uMWm19_>?=^K3Q*~@UZG}5oxvr@V5 z!mF!A??kpNL$v9j7n{Yb+W?1ygndju3uyP**oE|R+2oXbL27|3Uk*5rvwa9mgtW*|7P1$6`S*q;V#Hh6a|LHBT?c$*@ z*ZKR#C%3&0KN#LYCt;PK29A$!8^a}yD4y&E71}E37z3+s?5)7+MYU)>|UN+$SARRPf>a? z9#rD0Kmjp4$0a>BV$tSHFHia~S*yz#_wJIe3%sV>Rh`y=RjU9^(COJQsT}2**-4pd zgG=Fhc|qZ~T@;Di0fu8wb2J)bWZ4yyPZC^`7}VS39wTk(k}SgHFFH5K^=L%9?oC+Vefj@a|5J?Xa>g@UJqct^+ED z&@*eK`=~V5?=;`)JJhej;6*$@?)xC1^jja*>Khcc`n8@L@_BU9`IyVOt@wDAx4V>z z>7>b;&<^z`w_D`6p2*z8o$*-%gGO8aUCCG=!Vx}{%{}g)~?MNFzky!LCnm= z0?{MUkKkbP?3AZ{HzQ=w({L6n{ml8;2m`3L`6~dk+I=;0Y3(U3usHZ{rzNmsOBZ@_ zy&BSUbnHW4@V~;j{$o-w&+Q+kKkup=t>6lYJ00>``m6ovci!wOe69NZbO=KsZApZKi#6tY310FvIUplYROJ9vG-?OY#Vo*=ZRhEk7mu%TD_>Q5Anp6Jsk_y z6LD>)+dIFg`O(L8Y?BUHEE?ilZl+S|+o2#>wR!ps;}oS-e<*h1$>9le4mD09p~7FO z$Fb6VX3q4ROR}O;mW!e)y;qX;q;QoqizW)5gmA+N4FE{<+YSC5M{kg2vlE?cHkPf@m6 z`-5IHE}i+*IXcY3n0slIm&uUQX?^M++S8PZjp`rw9vAm@BDi-ijiBAXICa^hpok9`&S!_PvU}gfE-x zsUbd5Qf1GCv-}p9cM{(g-GIbGb2zK{f+ zq-tl*#EIX|+-h)2ua*rUV45?}_SV>_l*4c?=z9k9eWlI-EPdPiR@rHK3-1Ivq>B?k5 zwrgrK?ZE0cU%m*RwWeZS(Hpsvs;wI&$Smtr`z4PIBy)cq0lGcP*+cq#F%Vty2Kay z5o6pEKwnf&l$o8pe$3^i-cYP!oOqL2h_`>zl14%qapul9gV4(%rlGFweZ*Oi@TDRB zB6q{19sg*tXugud@BCJnEh8?Kv@EJ};;Euew)jIq_N3Y2o2GqYj<-A>6_tAz%`5e= zsYEt)3%mQh<3=9Rvc%DmTNK<7zjE|)euGAml4`v$eZv5Y?8E-Gp&XwQ-ur{_Q0&0s z(8B(K%NL^MsqY|#nH<+Kl=WC*mj*5Jmq(&orF7uuVL0qf_AovlJ<7p5TD4_|oqC$m zEOBd?U^}M*m($~ky75zu%ClQ=x++=Gm83jhMZq&sm4a86MK64Q-bXU;bvrA;7zp@LH4bz=<*#8BfB#n^!@czpNm$vFe4NE@L3J!=Z#~ciiq3Z7{Ce` ziY4)UINli!`}jr7d+N07e$G6;V^^Xo3jL%ez0 zTfgLS9`x%G{944vCc~q>TEL6J_L?nkxnfvUOC#l*vYsx)DaE%E6TUSqs#)&OXAh0^ zmNOei`?k9fdRaC?T`7S$Hcfb77poi3Bx{s0K1_Qr2`H`T3NUjh)Atr9ioH~oitEx( zRWRw1_U{`g3rb9Hd;ur5jqRbbqxRBPwhr<90gm!RXd&S;n{i|Hpk?stK>u*>(eF)f zz-}%t$~tWvRY~eH(eq(nnur&-_Z2#`C>~g~e^L_O^Qn&5dvq7){ugMEz(PAVqN_2R zQ}4Gz27cobhjW%fX|;?lI?D1_QXOV;lD+4W%lA+>)7?yZ-T&Fs7OOVJD!JI|T=tTj zr0vK&%Or;nDB4)`dNZ5ZGnIii*ki-feBs_ooKg^CHqM^NC|}{`U{k}{wE`^S;bouL z6@pLs%&;i~yqO&Xgk+xY(+NxOWmBm>rZSylGW=)f2z)vVWrlg;iSyoH;#DIA3|y=h zT=tt91B^(HiF!_O($kLpKh(W>Jk@FcKmMJiZ4^^PQ)tp+ipZ2AM?Q_DT_{mxtF&lA zvNMxPC?}bs5|hf3lSqYAs5nXFq>!>r_KuK!=l8s>a}?Fg-1qnXe!idI_n-SQ_kA1A zdB3mgbv<9t<#p9dwQx&3em?W`2Wele=<+e^f&wh=7pCbgJ5`8F9^b@0T39%;A2X>U zoF8lO&!I4d_E<5ky2ELTXZQ8t5_EjAfttS1)fa<24nA)&EE{OmY3$!zdL`-yW8G^b zbvobX)l{};oV2;ouif{1G_elBYjpTMB?Z~ zw>xE_ZAZ)8o3tC-4vMtPTIa0jbGSHf%<8$PF24UhLV;m$dVbva1Iu6RC{_9Swt_|I z#`ot-8`e%~W@enrDtD?ru+D6zYA$3|UEG{zuJqZk$~O|chn8!zHCBqdEn;4d4^msq zs_l7sPe)^KNMr0{jg(0>Sf>PJtm}-*i;lUw_qe6qu?*Zh;dofIdWIMKz2UXd6P$pQ znRZ{xbsLS)nRVs-LcppwuihTmAj{2(H}rY!VSo$UTn(JWyE3Yb2O8O&V~P9k^_HgX zPj0(&I|9GU+0e|j{)aW#xlE&ujNUXWJum1UpyrURcyn$c>f)&$S z%0D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�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%0A)8oZ{(LrM&e|w>>Tx=+W6@c`hK&P^O?(S;=8l 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 Y11tKL5Bbj!_}}s`R(;M{x@rIa0d)-jdH?_b diff --git a/public/index.html b/public/index.html deleted file mode 100644 index eff124e..0000000 --- a/public/index.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - <%= htmlWebpackPlugin.options.title %> - - - - - - - - - - - - - - - - - - - - - - -
- - - diff --git a/src/App.vue b/src/App.vue deleted file mode 100644 index 026ebe0..0000000 --- a/src/App.vue +++ /dev/null @@ -1,25 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/CopyButton.vue b/src/components/CopyButton.vue deleted file mode 100644 index a5ca250..0000000 --- a/src/components/CopyButton.vue +++ /dev/null @@ -1,29 +0,0 @@ - - - \ No newline at end of file diff --git a/src/components/Credits.vue b/src/components/Credits.vue deleted file mode 100644 index 0e9b455..0000000 --- a/src/components/Credits.vue +++ /dev/null @@ -1,22 +0,0 @@ - - - \ No newline at end of file diff --git a/src/components/GeneratedUrl.vue b/src/components/GeneratedUrl.vue deleted file mode 100644 index 95c45cc..0000000 --- a/src/components/GeneratedUrl.vue +++ /dev/null @@ -1,150 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/HelpMessage.vue b/src/components/HelpMessage.vue deleted file mode 100644 index 6d2f748..0000000 --- a/src/components/HelpMessage.vue +++ /dev/null @@ -1,35 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/Jumbo.vue b/src/components/Jumbo.vue deleted file mode 100644 index 71d2247..0000000 --- a/src/components/Jumbo.vue +++ /dev/null @@ -1,58 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/Notification.vue b/src/components/Notification.vue deleted file mode 100644 index 04940fb..0000000 --- a/src/components/Notification.vue +++ /dev/null @@ -1,34 +0,0 @@ - - - \ No newline at end of file diff --git a/src/components/PasswordForm.vue b/src/components/PasswordForm.vue deleted file mode 100644 index baf1f94..0000000 --- a/src/components/PasswordForm.vue +++ /dev/null @@ -1,157 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/QuickStart.vue b/src/components/QuickStart.vue deleted file mode 100644 index fe7589a..0000000 --- a/src/components/QuickStart.vue +++ /dev/null @@ -1,52 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/elements/Box.vue b/src/elements/Box.vue deleted file mode 100644 index ad56e73..0000000 --- a/src/elements/Box.vue +++ /dev/null @@ -1,50 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/elements/Button.vue b/src/elements/Button.vue deleted file mode 100644 index 462bdef..0000000 --- a/src/elements/Button.vue +++ /dev/null @@ -1,52 +0,0 @@ - - - \ No newline at end of file diff --git a/src/elements/Container.vue b/src/elements/Container.vue deleted file mode 100644 index 16594f1..0000000 --- a/src/elements/Container.vue +++ /dev/null @@ -1,31 +0,0 @@ - - - \ No newline at end of file diff --git a/src/elements/Icon.vue b/src/elements/Icon.vue deleted file mode 100644 index 90c7d87..0000000 --- a/src/elements/Icon.vue +++ /dev/null @@ -1,10 +0,0 @@ - - - \ No newline at end of file diff --git a/src/elements/Input.vue b/src/elements/Input.vue deleted file mode 100644 index 8dc5419..0000000 --- a/src/elements/Input.vue +++ /dev/null @@ -1,129 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/elements/Step.vue b/src/elements/Step.vue deleted file mode 100644 index 4f091c3..0000000 --- a/src/elements/Step.vue +++ /dev/null @@ -1,84 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/elements/Table.vue b/src/elements/Table.vue deleted file mode 100644 index 68bd24d..0000000 --- a/src/elements/Table.vue +++ /dev/null @@ -1,168 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/elements/Toast.vue b/src/elements/Toast.vue deleted file mode 100644 index 2218805..0000000 --- a/src/elements/Toast.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/lib/eventbus.js b/src/lib/eventbus.js deleted file mode 100644 index f6a59fa..0000000 --- a/src/lib/eventbus.js +++ /dev/null @@ -1,3 +0,0 @@ -import Vue from "vue"; - -export default new Vue({}); \ No newline at end of file diff --git a/src/lib/file.js b/src/lib/file.js deleted file mode 100644 index 3f062e7..0000000 --- a/src/lib/file.js +++ /dev/null @@ -1,96 +0,0 @@ -import * as Serializer from "@msgpack/msgpack"; - -const Crypto = window.crypto; - -class FileAPI { - static _dump(data) { - const temp = data.map(item => ({ - a: item.alias, - u: item.username, - p: item.password, - d: item.description - })); - - return Serializer.encode(temp); - } - - static _parse(data) { - const temp = Serializer.decode(data); - - return temp.map(item => ({ - alias: item.a, - username: item.u, - password: item.p, - description: item.d - })); - } - - static _encode(content) { - return new TextEncoder('utf-8').encode(content); - } - - static async encrypt(content, password) { - const encPwd = FileAPI._encode(password); - const hashPwd = await crypto.subtle.digest('SHA-256', encPwd) - .catch(err => { - console.error(err); - throw new Error('Error generating password hash.'); - }); - - const name = 'AES-GCM'; - const iv = Crypto.getRandomValues(new Uint8Array(12)); - const alg = { name, iv }; - - const key = await Crypto.subtle.importKey('raw', hashPwd, alg, false, ['encrypt']) - .catch(err => { - console.error(err); - throw new Error('Error importing the key.'); - }); - - const dumpContent = FileAPI._dump(content); - const ctBuffer = await Crypto.subtle.encrypt(alg, key, dumpContent) - .catch(err => { - console.error(err); - throw new Error('Error encrypting the content.'); - }); - - const ctArray = Array.from(new Uint8Array(ctBuffer)); - const ctStr = ctArray.map(byte => String.fromCharCode(byte)).join(''); - const ctBase64 = btoa(ctStr); - - const ivHex = Array.from(iv).map(b => ('00' + b.toString(16)).slice(-2)).join(''); - return ivHex + ctBase64; - } - - static async decrypt(content, password) { - const encPwd = FileAPI._encode(password); - const hashPwd = await Crypto.subtle.digest('SHA-256', encPwd) - .catch(err => { - console.error(err); - throw new Error('Error generating password hash.'); - }); - - const name = 'AES-GCM'; - const iv = new Uint8Array(content.slice(0,24).match(/.{2}/g).map(byte => parseInt(byte, 16))); - const alg = { name, iv }; - - const key = await Crypto.subtle.importKey('raw', hashPwd, alg, false, ['decrypt']) - .catch(err => { - console.error(err); - throw new Error('Error importing the key.'); - }); - - const ctStr = atob(content.slice(24)); - const ctUint8 = new Uint8Array(ctStr.match(/[\s\S]/g).map(ch => ch.charCodeAt(0))); - - const plainBuffer = await Crypto.subtle.decrypt(alg, key, ctUint8) - .catch(err => { - console.error(err); - throw new Error('Error decrypting the content.'); - }); - - return FileAPI._parse(plainBuffer); - } -} - -export default FileAPI; \ No newline at end of file diff --git a/src/main.js b/src/main.js deleted file mode 100644 index 281d1f8..0000000 --- a/src/main.js +++ /dev/null @@ -1,10 +0,0 @@ -import Vue from 'vue' -import App from '@/App' -import router from '@/router' - -Vue.config.productionTip = false - -new Vue({ - router, - render: h => h(App) -}).$mount('#app'); \ No newline at end of file diff --git a/src/router.js b/src/router.js deleted file mode 100644 index 08a2b06..0000000 --- a/src/router.js +++ /dev/null @@ -1,91 +0,0 @@ -import Vue from 'vue' -import VueRouter from 'vue-router' -import Home from '@/views/Home' - -Vue.use(VueRouter) - -const routes = [ - { - path: '/', - name: 'home', - component: Home - }, - { - path: '/m', - name: 'create', - props: true, - meta: { title: 'Create collection' }, - component: () => import(/* webpackChunkName: "manager" */ '@/views/Manager'), - beforeEnter: (to, _, next) => { - const mock = [ - {"alias":"msssavb444msssavb444","username":"17lbtonz6yibyihq1czazmgfj","password":"lhnj8u6zo6caoa1e4cmtbub4l","description":"g3acfv7dg7n0crdnvtf039ohjnhfjfhl4horfr2btmj83l7g8n"}, - {"alias":"2xicx9h6ik2xicx9h6ik","username":"5g79x7fzfkfcrzgrzouqfr25u","password":"p27idtn9x51img518tryc8lsx","description":"xw4xwbbl7nmrttiv64lr0j5oypl9z86tcrnlp0e20tspwfaic0"}, - {"alias":"mlkbh8nmdvmlkbh8nmdv","username":"t3xmgkgsk4wt303cq139p5ikl","password":"dntxmsjozuahangqddddxke5r","description":"q60hutc066b13ajgacbl9rwvokqxkombak9wc8g4kif9a57i6b"}, - {"alias":"y0m2w9tucwy0m2w9tucw","username":"o2fyc4tzx86dqeujb1us0qgez","password":"bwa43vb59hccoplyitvu579tk","description":"uhnuj9wbb0ghfu6vebh4ud6qqpzcttqxmh18zoaa6imj6aqwh1"}, - {"alias":"11u70fjx9j11u70fjx9j","username":"zddjq8ea4dslnj8ut2t1rzdmo","password":"h4ymkrwuumnwooz7ynvyjoh19","description":"9mh5uw5ny6tmzkg4ir2rl7chxmef8rvm6evy0k608y7h4nogk1"}, - {"alias":"6m0qt9b0gi6m0qt9b0gi","username":"s6fy8goaxkvub66e6ixjkvu2j","password":"4nfqjrquv2q2qtlxm5om58ho3","description":"pqbbnb9mribk523toi37ufqlhrsyu4cfzjehm4ha169hmoaxa0"}, - {"alias":"pnh9edzwjppnh9edzwjp","username":"82app6mtrwplrgw8lyxht8pkw","password":"dfy1yovkl30paoufsqsaytku0","description":"z0aas8xh561pjpxvierjcezzwfkgv5bhkd5mvty5shs72blobh"}, - {"alias":"vmou60r6uyvmou60r6uy","username":"5tx6e6wvl55qi0u9wqxzy38zk","password":"tjqzymwpqwv20q58dm5bi1j2p","description":"1vpa3mqqc8kzq9dngnp3bpfzk2nddexbgml4wfk4htxgu6nkfg"}, - {"alias":"dsjcmidea7dsjcmidea7","username":"tadbl50167gm9wdha6huk9aat","password":"vsi4d6n3h2ylk5tvmdp9180yz","description":"zxnke9eq8dx9si7fq3tyglug4hkupmmtomyny47hjb44q9mdph"}, - {"alias":"h4dtensx8wh4dtensx8w","username":"eormq84sfz3uxtysiduzhz30k","password":"naks6h604d2zwmnqq7pv0eq80","description":"vl7rk9lvo84770t1amhtygewnwsgt4c9tx9ekoce35k56ycgve"} - ]; - - if (Object.keys(to.query).includes('mock')) to.params.data = mock; - next(); - } - }, - { - path: '/m/:blob', - name: 'manager', - props: true, - meta: { title: 'My Passwords' }, - component: () => import(/* webpackChunkName: "manager" */ '@/views/Manager'), - beforeEnter: (to, _, next) => { - const { data, blob } = to.params; - if (!data && blob) next({ name: 'decrypt', params: { data, blob } }); - else next(); - } - }, - { - path: '/d/:blob+', - name: 'decrypt', - props: true, - meta: { title: 'Decrypt' }, - component: () => import(/* webpackChunkName: "decrypt" */ '@/views/Decrypt'), - beforeEnter: (to, _, next) => { - const blob = to.params.blob || null; - - if (blob.length > 0) next(); - else next({ name: 'home' }); - } - }, - { - path: '/e', - name: 'encrypt', - props: true, - meta: { title: 'Encrypt' }, - component: () => import(/* webpackChunkName: "encrypt" */ '@/views/Encrypt'), - beforeEnter: (to, _, next) => { - const data = to.params.data || null; - - if (Array.isArray(data) && data.length > 0) next(); - else next({ name: 'home' }); - } - } -] - -const router = new VueRouter({ - base: process.env.BASE_URL, - routes -}); - -// Set a dynamic web title on change view. -const baseTitle = 'MyKeys'; -const titleSeparator = ' | '; -router.beforeEach((to, _, next) => { - document.title = to.meta.title ? - to.meta.title + titleSeparator + baseTitle : baseTitle; - next(); -}); - -export default router; \ No newline at end of file diff --git a/src/views/Decrypt.vue b/src/views/Decrypt.vue deleted file mode 100644 index 5844004..0000000 --- a/src/views/Decrypt.vue +++ /dev/null @@ -1,50 +0,0 @@ - - - \ No newline at end of file diff --git a/src/views/Encrypt.vue b/src/views/Encrypt.vue deleted file mode 100644 index 5b178b1..0000000 --- a/src/views/Encrypt.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - \ No newline at end of file diff --git a/src/views/Home.vue b/src/views/Home.vue deleted file mode 100644 index b4aa535..0000000 --- a/src/views/Home.vue +++ /dev/null @@ -1,22 +0,0 @@ - - - \ No newline at end of file diff --git a/src/views/Manager.vue b/src/views/Manager.vue deleted file mode 100644 index 57537f3..0000000 --- a/src/views/Manager.vue +++ /dev/null @@ -1,92 +0,0 @@ - - - \ No newline at end of file